May 082013
 

This is a short summary of the German article I have posted yesterday. Have a look at it, if you want to see photos how to distinguish Version 1.0 from Version 2.0 of this TP-Link TL-WN725 N Nano WiFi USB dongle.

Update

We have released a package in our repository to install this driver in the most easy fashion possible. Head on over to our new blog-post to read all about it!

What is this about?

TP-Link changed the chip driving it’s TL-WN725N Nano WiFi stick. Whereas v1.0 would work out of the box with the newest Raspbian (02-09-13) v2.0 does not work unless you install a custom driver.

Driver installation procedure (legacy)

If possible, you should use the instructions to install the driver from our repository – it is more convenient for you. The remainder of this article is here for historical purposes.

MrEngman from the Raspberry Pi Forum has compiled a driver for v2.0 (which uses the 8188eu chip), including modifications for making the blue LED work and less debug output (thus making it faster).

Here are his installation instructions, quoted from this forum post on the Raspberry Pi Forum:

wget https://dl.dropboxusercontent.com/u/80256631/8188eu-20130209.tar.gz
tar -zxvf 8188eu-20130209.tar.gz
sudo install -p -m 644 8188eu.ko /lib/modules/3.6.11+/kernel/drivers/net/wireless

Once you have installed the driver you should activate it:

sudo depmod -a
sudo modprobe 8188eu

The first command will update the kernel module settings – on the next reboot, the new driver should be included automatically. The second command allows you to load the driver immediately. Now you can try ifconfig to see wlan0 – it should be available now.

Raspbian Image with driver

We have bundled the driver with a fresh Raspbian image, based on Raspbian 2013-02-09.

Additionally we have updated the apt cache, and installed all currently available updates to the default packages. This should save you some bandwidth and – more importantly – time.

This image will be 4 GB in size when you decompress it (use 7-zip), and should be installed by the usual method of image writing to SD cards. Please note that we have not expanded the image to fit the whole (4 GB) SD card, you still need to run sudo raspi-config to finish the set-up.

The original tar.gz file from MrEngman is in the folder /home/pi/wlan-fix – just in case you should ever need it, it is already installed and activated for you in this image.

download-tp-link-wlan-fix-image[4]Download raspbian-wifi-fix130523.7z (532 MB)

 

Update

I have updated the image today (31.05.2013). It has all updates as of the 23rd of may of a stock Raspbian install. Also I have resized the image to the real size the partitions need initially.

Please note, if you run updates the driver may become disabled. Simply use

sudo depmod -a
sudo modprobe 8188eu

to fix this after the updates.

 

Simple WiFi network setup

In the simple case of the Raspberry Pi being used with WLAN only, a DHCP access point / router, and no roaming is required, you should be fine with the followíng /etc/network/interfaces file

auto lo

iface lo inet loopback
#iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
        wpa-ssid "your-ssid"
        wpa-psk "your-password"
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Change your-ssid and your-password, but please keep the quotation marks around them. As you see in the setup above, the wpa_supplicant.conf is commented out.

May 072013
 

Ein Kunde schrieb uns, dass er Probleme hat den von uns eigentlich als “Plug & Play” getesteten TL-WN725N Wireless N Nano USB Adapter mit dem Raspberry Pi zum Laufen zu kriegen. Wir analysieren in diesem Blogpost das Problem und bieten am Ende des Artikels eine Lösung zum Selberinstallieren sowie ein bereits fertiges Image. Unsere Lösung wird nur für Version 2.0 des Nano WiFi Adapters benötigt, die Version 1.0 arbeitet sofort mit dem normalen Raspbian Image von der Foundation.

image

Es stellt sich heraus, dass es zwei Versionen gibt. Die zwei Versionen sind äußerlich kaum zu unterscheiden, die Verpackung absolut identisch. Anhand der folgenden Merkmale kann man sie erkennen:

 

Version 1

image

Das ist das Produktetikett auf der Unterseite der Verpackung, unter der Shrink-Wrap Plastikfolie angebracht. Darauf steht Ver: 1.0, die P/N ist 0152502085 auf allen Ver 1.0 Verpackungen die wir hier angeschaut haben.

image

Auf der Version 1 des TP-Link nano WiFi Adapters befindet sich auf der Rückseite der Verpackung rechts neben dem Barcode die PN 7022501718 – auf allen Verpackungen die wir bisher untersucht hatten. Sie ist nicht mit der P/N auf dem Produktetikett identisch.

pi@raspberrypi ~ $ lsusb
(...)
Bus 001 Device 008: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
(...)

Der Chip des v1 TL-WIN725N WLAN Adapters wird am Raspberry Pi erkannt als 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter.

v1 des WLAN Adapters, mit dem RTL8188CUS Chip wird “out-of-the-box” vom Raspberry Pi unter dem aktuellen Raspbian (02-09-13) erkannt, ohne weitere Einstellungen treffen zu müssen (d.h. auch ohne die Datei /etc/network/interfaces zu bearbeiten). Das lässt sich einfach so testen:

root@raspberrypi:/home/pi# ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:48:92:0e
          inet addr:192.168.1.190  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:209 errors:0 dropped:0 overruns:0 frame:0
          TX packets:139 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14792 (14.4 KiB)  TX bytes:19146 (18.6 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr 64:70:02:24:5d:1d
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Das der Eintrag wlan0 auftaucht bedeutet, dass der WLAN Adapter erkannt wurde, und jetzt nur noch konfiguriert werden muss. wlan0 sollte sogar bei auskommentiertem wlan0 Eintrag in der Datei /etc/network/interfaces mit ifconfig gelistet werden.

 

Version 2

image

Das ist das Produktetikett auf der Unterseite der Verpackung, unter der Shrink-Wrap Plastikfolie angebracht. Darauf steht Ver: 2.0, die P/N ist 0152502097 auf allen Ver 2.0 Verpackungen die wir hier angeschaut haben.

image

Auf der Version 2 des TP-Link nano WiFi Adapters befindet sich auf der Rückseite der Verpackung rechts neben dem Barcode die PN 7022501164 – auf allen Verpackungen die wir bisher untersucht hatten. Sie ist nicht mit der P/N auf dem Produktetikett identisch.

root@andromeda:/home/pi# lsusb
(...)
Bus 001 Device 010: ID 0bda:8179 Realtek Semiconductor Corp.
(...)

lsusb identifiziert den TP-Link V2 Chip unter Raspbian als “0bda:8179 Realtek Semiconductor Corp.” – keine weitere Produktbezeichnung.

ifconfig zeigt wlan0 NICHT – d.h. das WLAN kann (noch) nicht genutzt werden:

root@raspberrypi:/home/pi# ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:48:92:0e
          inet addr:192.168.1.190  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:147 errors:0 dropped:0 overruns:0 frame:0
          TX packets:113 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:11519 (11.2 KiB)  TX bytes:15266 (14.9 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

 

Version 2 zum Funken bringen

Selber installieren

Es muss ein neuer Treiber installiert werden. MrEngman aus dem Raspberry Pi Forum hat einen Treiber kompiliert, und hier auf Dropbox zur Verfügung gestellt. Die tar.gz Datei enthält genau eine Datei, 8188eu.ko

Ich zitiere seine Installationsanweisungen aus diesem Forumsbeitrag im RaspberryPi.org Forum:

wget https://dl.dropboxusercontent.com/u/80256631/8188eu-20130209.tar.gz
tar -zxvf 8188eu-20130209.tar.gz
sudo install -p -m 644 8188eu.ko /lib/modules/3.6.11+/kernel/drivers/net/wireless

Danach sollte man den Treiber aktivieren:

sudo depmod -a
sudo modprobe 8188eu

Das erste Kommando untersucht die Modul-Ordner auf neue Treiber hin, die zu dem Kernel hinzugefügt werden. Sie sind beim nächsten Booten aktiv.

Das Kommando modprobe 8188eu erlaubt bereits ohne Start den neuen Treiber zu laden.

 

Unser Image herunterladen

Unser Image basiert auf dem neuesten Raspbian (09.02.2013, Hardfloat) Image. Zusätzlich haben wir die aktuellen Updates für das System eingespielt, und natürlich den Treiber für den TP-Link 150 Mbps Wireless N Nano USB Adapter TL-WN725N v2.0, 8188eu von MrEngman installiert und aktiviert.

Das Image ist ansonsten noch im ursprünglichen Zustand, d.h. sudo raspi-config sollte ausgeführt, und die entsprechenden Einstellungen (Tastaturbelegung, Expansion auf die volle Größe der SD, … ) gemacht werden.

download-tp-link-wlan-fix-imageDownload raspbian-wifi-fix130523.7z (532 MB)

Hinweise:

  • Zum Entpacken bitte 7-Zip verwenden
  • Das Image dann einfach auf die normale Art und Weise auf die SD Karte schreiben
  • mindestens 4 GB SD erforderlich
  • Es handelt sich zwar um ein 4 GB Image, allerdings ist die Partition nicht jenseits von 2 GB expandiert worden (leider haben wir keine 2 GB Karten da).
  • die Original tar.gz Datei mit dem Treiber-Kompilat von MrEngman liegt im Ordner /home/pi/wlan-fix

Referenz & weiterführende Information

Apr 112013
 

As we have posted earlier, we own an old CanoScan LiDE 30. We are very satisfied with this scanner – but unfortunately it does not work on newer versions of Windows (e.g. Windows 7 64 bit, Windows 8) – Canon “forgot” to release updated drivers.

Raspberry Pi networked scanner sharing

A Raspberry Pi is perfect for a small, low volume server application. Today, we have put together all the pieces necessary to use it to attach the Canon scanner to our network, and scan from Windows once again.

BTW: It looks as though the Fujitsu ScanSnap 1300i might also be supported by SANE. This is the replacement scanner for the Canon flatbed scanner we bought – but it can’t scan books, for instance.

Step by step setup guide:

This guide is written for Raspbian. We have tested it with the latest Raspbian version currently available (2013-02-09).

Get the required packages:

sudo su
aptitude update
aptitude install xinetd sane-utils

xinetd is the Internet superdaemon which will start saned, the “Scanner Easy Access Now” daemon when a network connection to it’s port is opened (saned can’t do that on it’s own).

sane-utils contains the saned. (On Archlinux the package is called simply “sane”)

Raspbian automatically sets up the group saned and the user saned for you. It also adds the user saned to the group scanner.

Configure /etc/default/saned so it will start automatically (RUN=yes):

# Defaults for the saned initscript, from sane-utils

# Set to yes to start saned
RUN=yes

# Set to the user saned should run as
RUN_AS_USER=saned

Start saned, and test whether the scanner is recognized. Ideally you should do this as user saned, to see if all access rights for saned are setup correctly. Your scanner should naturally be attached to the Raspberry Pi. If it draws its power through USB, we recommend to use a powered USB hub.

root@raspberrypi:/home/pi# /etc/init.d/saned start

root@raspberrypi:/home/pi# su -s /bin/sh - saned
No directory, logging in with HOME=/

$ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 008: ID 04a9:220e Canon, Inc. CanoScan N1240U/LiDE 30
Bus 001 Device 007: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 006: ID 046d:c31c Logitech, Inc. Keyboard K120 for Business

$ scanimage -L
device `plustek:libusb:001:008' is a Canon CanoScan N1240U/LiDE30 flatbed scanner

$ exit

root@raspberrypi:/home/pi#

I have included the # and $ prompt in this listing, so you can distinguish between commands the root user (#) issues and the saned user issues ($)

If you see your scanner here, great. If not – have a look at the documentation and further reading links we will provide at the end of this article.

The USB scanner itself is plug & play – you can attach it to the Raspberry Pi when you feel like scanning, and remove it after you have finished.

Prepare network sharing of the scanner

root@raspberrypi:/etc/xinetd.d# cat /etc/services | grep sane
sane-port       6566/tcp        sane saned      # SANE network scanner daemon

You should see the sane-port line as in the listing. If it is not in there, add it.

root@raspberrypi:/# cd /etc/xinetd.d

root@raspberrypi:/etc/xinetd.d# touch sane-daemon

root@raspberrypi:/etc/xinetd.d# which saned
/usr/sbin/saned

root@raspberrypi:/etc/xinetd.d# nano sane-daemon

This will set up the XInet configuration. Please use the following configuration for the /etc/xinetd.d/sane-daemon file:

service sane-port
            {
              socket_type = stream
              server = /usr/sbin/saned
              protocol = tcp
              user = saned
              group = saned
              wait = no
              disable = no
            }

Note that we used the output from “which saned” in the configuration above. If it is different for you – e.g. on Archlinux – adjust accordingly.

Set up saned to accept connections from your network by editing /etc/sane.d/saned.conf:

# saned.conf
# Configuration for the saned daemon

## Daemon options
# [...]
# data_portrange = 10000 - 10100


## Access list
# [...]
# The hostname matching is not case-sensitive.

#scan-client.somedomain.firm
192.168.1.0/24

#192.168.0.1
#192.168.0.1/29
#[2001:7a8:185e::42:12]
#[2001:7a8:185e::42:12]/64

# [...]

Please adjust the subnet specification 192.168.1.0/24 to your network architecture. You can also explicitly specify single IPs. If you do not edit this file, SaneTwain will hang when contacting your Raspberry Pi scanner server.

Now you can reboot the Raspberry Pi (sudo reboot), and continue to the set up on the Windows side.

Setting up Windows to access the SANE network scanner

We have tested with Windows 7 64 bit & Windows 8 64 bit.

Windows users use “TWAIN” drivers. Luckily, there is an application, which will create a bridge between TWAIN and SANE on the network. The author claims it does not work for 64 bit Windows, but it did work for us. Please report back in the comments about your success / failure stories on different Windows versions.

Download SaneTwain here.

SaneTwain Setup

image

Just enter your Raspberry Pi IP (if you do not know it, “ip addr show” will show you it’s network setup) as the hostname. Port and Username can stay the way they are. Look through the other settings, if you want to. The Mail tab, for instance, offers the possibility to set up an Evernote account you want to scan to.

Before you try to use the TWAIN driver SaneTwain offers, you should set up the hostname using the way we just described (by starting ScanImage.exe).

Scan

Now you’re set up for scanning. Use the “preview” button to acquire a preview, and the “scan” button to save the selected area to a PNG (it will be scanned with better quality, of course). The resolution can be set, also other options.

Wait until the scanner is finished with the preview and has repositioned itself, before you hit the “scan” button.

image

The TWAIN driver works for us, too. (Tested with IrfanView) – this is Windows 8 64 bit. No special tweaks were applied.

Setting up Linux to scan from the network scanner

If you have a Linux box, you can use basically any SANE Frontend to scan using the network.

You need to add the network scanner to a local SANE installation.

Edit /etc/sane.d/net.conf and add the IP of your server. You can specify multiple servers.

image

Test with scanimage –L once again, and after a while you will see your network scanner showing up.

Frontends

Try XSane. Noteworthy is also gscan2pdf which will convert scanned pages to multipage PDFs, and even OCR them for you!

Of course you should be able to scan from another Raspberry Pi on your network, or even the Internet.

simple-scan is a frontend for SANE.

Further Reading & Links

SANE

SaneTwain

How-Tos

We used the following how-tos in building this tutorial. Thanks, guys!

Apr 092013
 

Wir haben hier im Büro einen LIDE 30 von CanoScan, der leider keine Treiberunterstützung für Windows 8 / Windows 7 (zumindestens die 64 bit Versionen hat). Mein Bruder hat auf seinem Laptop mit Ubuntu das Programm “simple scan” benutzt, um den Scanner zu benutzen – ohne jegliche Treiberinstallation.

Die Idee liegt natürlich nahe, das auch auf dem Raspberry auszuprobieren.

Der Scanner wird über unseren powered USB Hub an das Raspberry Pi angeschlossen – der Canon LIDE 30 bezieht seinen Strom über USB, und das wollen wir dem Raspberry und seiner Polyfuse nicht direkt zumuten.

Mit startx ist schnell X-Windows aufgerufen, und unter einer Konsole mit aptitude install simple-scan nach einiger Zeit die GUI fürs Scannen installiert.

Mit simple-scan wird sie dann unter der Kommandozeile geöffnet und erkennt den (mittlerweile angeschlossenen) Scanner vollautomatisch. Keine Treibersuche – die Magie von Linux!

Die Oberfläche ist einfach und weitgehend selbsterklärend. Das Ausgabeformat kann man im Speicherndialog unten links einstellen.

Zur Geschwindigkeit: die Prozessorauslastung lag wiedermal bei 100 %, der Scan war vielleicht anderthalb mal so langsam wie unter Ubuntu auf einem modernen Desktoprechner. Die Geschwindigkeit beim Speichern (Konvertierung) war ebenfalls nicht berauschend, für den gelegentlichen Scan mit altem Equipment jedoch akzeptabel.

Eventuell ließe sich hier noch mit einer Class 10 SD Karte (wir hatten mit einer Class 4 getestet), sowie vielleicht einer AJAX – Weboberfläche anstelle von XWindows optimieren. Generell würde ich gerne auch mal das Raspberry im Betrieb von einem RAM Image sehen – ich habe die SD Karte im Verdacht es extrem auszubremsen, egal welche Klasse.

Wir haben hier noch einen Fujitsu ScanSnap 1300i – es wäre interessant was man mit ihm und dem Raspberry Pi so anstellen kann. Mir schwebt da ein Netzwerkserver für den ScanSnap vor …

Optimization WordPress Plugins & Solutions by W3 EDGE