Heutige USB-Geräte werden immer zunächst als Massenspeicher erkannt, damit z.B. im Windows die mitgelieferten Treiber installiert werden können und nicht als CD ausgeliefert werden müssen. Danach wird, initiert durch den nun installierten Treiber, in den jeweiligen Gerätemodus umgeschaltet.
Das funktioniert unter Linux so nicht und damit bleibt das Gerät im Modus Massenspeicher „hängen“ und funktioniert nicht, hier sichtbar in /var/log/messages:
kernel: [ 3118.534964] usb 1-1.3.2: new high-speed USB device number 7 using dwc_otg kernel: [ 3118.637196] usb 1-1.3.2: New USB device found, idVendor=0e8d, idProduct=0002 kernel: [ 3118.637236] usb 1-1.3.2: New USB device strings: Mfr=2, Product=3, SerialNumber=4 kernel: [ 3118.637256] usb 1-1.3.2: Product: Product kernel: [ 3118.637273] usb 1-1.3.2: Manufacturer: MediaTek Inc kernel: [ 3118.637291] usb 1-1.3.2: SerialNumber: 683694200106600 kernel: [ 3118.648352] usb-storage 1-1.3.2:1.0: USB Mass Storage device detected kernel: [ 3118.656676] scsi host2: usb-storage 1-1.3.2:1.0 kernel: [ 3119.656031] scsi 2:0:0:0: CD-ROM MEDIATEK FLASH DISK 6225 PQ: 0 ANSI: 0 CCS
Hier wird versucht, ein MEDION / ALDI TALK Webstick S4222 (MD 99079) am Raspberry Pi zu betreiben. Wir sehen idVendor=0e8d, idProduct=0002 des Chipherstellers MediaTek Inc..
Anmerkung und Vorbereitung
Der Medion Webstick, kann wie viele andere USB-Geräte nicht zuverlässig direkt am Raspberry Pi betrieben werden. Es ist ein USB-Hub mit eigener Stromversorgung notwendig. Ebenso sollte die SIM-Karte vorher in einem Handy so konfiguriert werden, dass keine SIM-PIN Eingabe erforderlich ist.
Weiteres Vorgehen nach ausführlicher und weitergehender Beschreibung auf http://www.draisberghof.de Dank an Josua Dietze!
Hier die für den Medion Webstick erforderlichen Schritte:
a) Laden und Entpacken
wget http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-2.2.5.tar.bz2
tar -xvjf usb-modeswitch-2.2.5.tar.bz2
wget http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-20150627.tar.bz2
tar -xvjf usb-modeswitch-data-20150627.tar.bz2
Es wurde in zwei neue Verzeichnisse entpackt. Die tar-Dateien können entfernt werden.
drwxr-xr-x 3 pi 4096 Jun 27 23:56 usb-modeswitch-data-20150627 -rw-r--r-- 1 pi 29918 Jun 27 23:58 usb-modeswitch-data-20150627.tar.bz2 drwxr-xr-x 3 pi 4096 Jul 16 23:37 usb-modeswitch-2.2.5 -rw-r--r-- 1 pi 263335 Jul 16 23:37 usb-modeswitch-2.2.5.tar.bz2
b) Installation von libusb
sudo apt-get install libusb-1.0-0-dev
c) Installieren von usb-modeswitch und usb-modeswitch-data
cd usb-modeswitch-2.2.5 pi@raspberrypi ~/usb-modeswitch-2.2.5 $ sudo make install sed 's_!/usr/bin/tclsh_!'"/usr/bin/tclsh"'_' < usb_modeswitch.tcl > usb_modeswitch_dispatcher install -D --mode=755 usb_modeswitch /usr/sbin/usb_modeswitch install -D --mode=755 usb_modeswitch.sh /lib/udev/usb_modeswitch install -D --mode=644 usb_modeswitch.conf /etc/usb_modeswitch.conf install -D --mode=644 usb_modeswitch.1 /usr/share/man/man1/usb_modeswitch.1 install -D --mode=644 usb_modeswitch_dispatcher.1 /usr/share/man/man1/usb_modeswitch_dispatcher.1 install -D --mode=755 usb_modeswitch_dispatcher /usr/sbin/usb_modeswitch_dispatcher install -d /var/lib/usb_modeswitch test -d /etc/init -a -e /sbin/initctl && install --mode=644 usb-modeswitch-upstart.conf /etc/init || test 1 test -d /etc/systemd/system -a \( -e /usr/bin/systemctl -o -e /bin/systemctl \) && install --mode=644 usb_modeswitch@.service /etc/systemd/system || test 1 cd usb-modeswitch-data-20150627 pi@raspberrypi ~/usb-modeswitch-data-20150627 $ sudo make install install -d /usr/share/usb_modeswitch install -d /etc/usb_modeswitch.d install -D --mode=644 40-usb_modeswitch.rules /lib/udev/rules.d/40-usb_modeswitch.rules install --mode=644 -t /usr/share/usb_modeswitch ./usb_modeswitch.d/*
Nun kann man schauen, ob die für unseren Vendor und die Product-ID geforderten Daten vorhanden sind.
Config-Dateien:
$ ls -l /usr/share/usb_modeswitch/0e8d:0002*
-rw-r–r– 1 root root 165 Aug 21 22:18 /usr/share/usb_modeswitch/0e8d:0002:uPr=MT
-rw-r–r– 1 root root 179 Aug 21 22:18 /usr/share/usb_modeswitch/0e8d:0002:uPr=Product
Udev-Rules:
$ vi /lib/udev/rules.d/40-usb_modeswitch.rules und suche nach 0e8d
# MediaTek/Medion S4222 and probably others, MediaTek MT6276M and others
ATTR{idVendor}==“0e8d“, ATTR{idProduct}==“0002″, RUN+=“usb_modeswitch ‚%b/%k’“
Reboot des Raspberry Pi, aber den UMTS-Stick noch nicht einstecken!
Anmelden und sich mit tail -f /var/log/messages „an das Log hängen“ .
Stick einstecken …
tail -f /var/log/messages kernel: [ 121.213918] usb 1-1.3: new high-speed USB device number 4 using dwc_otg kernel: [ 121.314835] usb 1-1.3: New USB device found, idVendor=1a40, idProduct=0101 kernel: [ 121.314875] usb 1-1.3: New USB device strings: Mfr=0, Product=1, SerialNumber=0 kernel: [ 121.314895] usb 1-1.3: Product: USB 2.0 Hub kernel: [ 121.325893] hub 1-1.3:1.0: USB hub found kernel: [ 121.326862] hub 1-1.3:1.0: 4 ports detected kernel: [ 150.333925] usb 1-1.3.3: new high-speed USB device number 5 using dwc_otg kernel: [ 150.436066] usb 1-1.3.3: New USB device found, idVendor=0e8d, idProduct=0002 kernel: [ 150.436107] usb 1-1.3.3: New USB device strings: Mfr=2, Product=3, SerialNumber=4 kernel: [ 150.436131] usb 1-1.3.3: Product: Product kernel: [ 150.436150] usb 1-1.3.3: Manufacturer: MediaTek Inc kernel: [ 150.436167] usb 1-1.3.3: SerialNumber: 683694200106600 kernel: [ 150.447454] usb-storage 1-1.3.3:1.0: USB Mass Storage device detected kernel: [ 150.456456] scsi host0: usb-storage 1-1.3.3:1.0 kernel: [ 151.455108] scsi 0:0:0:0: CD-ROM MEDIATEK FLASH DISK 6225 PQ: 0 ANSI: 0 CCS kernel: [ 151.535748] sr 0:0:0:0: [sr0] scsi3-mmc drive: 0x/0x caddy kernel: [ 151.535792] cdrom: Uniform CD-ROM driver Revision: 3.20 usb_modeswitch: switch device 0e8d:0002 on 001/005 kernel: [ 151.895582] usb 1-1.3.3: USB disconnect, device number 5 kernel: [ 152.643968] usb 1-1.3.3: new high-speed USB device number 6 using dwc_otg kernel: [ 152.745374] usb 1-1.3.3: New USB device found, idVendor=0e8d, idProduct=00a5 kernel: [ 152.745415] usb 1-1.3.3: New USB device strings: Mfr=9, Product=10, SerialNumber=0 kernel: [ 152.745435] usb 1-1.3.3: Product: Product kernel: [ 152.745455] usb 1-1.3.3: Manufacturer: MediaTek Inc kernel: [ 152.760018] usb-storage 1-1.3.3:1.6: USB Mass Storage device detected kernel: [ 152.766154] scsi host1: usb-storage 1-1.3.3:1.6 kernel: [ 152.955635] usbcore: registered new interface driver cdc_ncm logger: usb_modeswitch: switched to 0e8d:00a5 on 001/006 kernel: [ 152.994591] usbcore: registered new interface driver cdc_wdm kernel: [ 153.027917] usbcore: registered new interface driver usbserial kernel: [ 153.028085] usbcore: registered new interface driver usbserial_generic kernel: [ 153.028228] usbserial: USB Serial support registered for generic kernel: [ 153.045616] cdc_mbim 1-1.3.3:1.0: cdc-wdm0: USB WDM device kernel: [ 153.073849] cdc_mbim 1-1.3.3:1.0 wwan0: register 'cdc_mbim' at usb-bcm2708_usb-1.3.3, CDC MBIM, 62:0f:8f:c1:29:e8 kernel: [ 153.075371] usbcore: registered new interface driver cdc_mbim kernel: [ 153.127876] usbcore: registered new interface driver option kernel: [ 153.128065] usbserial: USB Serial support registered for GSM modem (1-port) kernel: [ 153.129538] option 1-1.3.3:1.2: GSM modem (1-port) converter detected kernel: [ 153.157877] usb 1-1.3.3: GSM modem (1-port) converter now attached to ttyUSB0 kernel: [ 153.161188] option 1-1.3.3:1.3: GSM modem (1-port) converter detected kernel: [ 153.166561] usb 1-1.3.3: GSM modem (1-port) converter now attached to ttyUSB1 kernel: [ 153.167841] option 1-1.3.3:1.4: GSM modem (1-port) converter detected kernel: [ 153.194807] usb 1-1.3.3: GSM modem (1-port) converter now attached to ttyUSB2 kernel: [ 153.195658] option 1-1.3.3:1 why not look here.5: GSM modem (1-port) converter detected kernel: [ 153.201407] usb 1-1.3.3: GSM modem (1-port) converter now attached to ttyUSB3 kernel: [ 153.765075] scsi 1:0:0:0: Direct-Access MEDIATEK FLASH DISK 6225 PQ: 0 ANSI: 0 CCS kernel: [ 153.768166] sd 1:0:0:0: Attached scsi generic sg0 type 0 kernel: [ 153.847826] sd 1:0:0:0: [sda] 3842048 512-byte logical blocks: (1.96 GB/1.83 GiB) kernel: [ 153.848819] sd 1:0:0:0: [sda] Write Protect is off kernel: [ 153.860054] sda: kernel: [ 153.863441] sd 1:0:0:0: [sda] Attached SCSI removable disk
$ ifconfig
eth0 Link encap:Ethernet HWaddr b8:27:eb:c0:a5:67
inet addr:192.168.2.22 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3709 errors:0 dropped:174 overruns:0 frame:0
TX packets:1387 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:423132 (413.2 KiB) TX bytes:229988 (224.5 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1104 (1.0 KiB) TX bytes:1104 (1.0 KiB)
wwan0 Link encap:Ethernet HWaddr 62:0f:8f:c1:29:e8
UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:83 errors:44 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:4294965375 (3.9 GiB)
In einem nächsten Artikel wird die Aktivierung der Internetverbindung via UMTS-Modem-Stick beschrieben.
Hallo Stephan,
vielen Dank für den Artikel, ich hoffe noch auf den nächsten Artikel der das Herstellen der Internetverbindung beschreiben soll.
Insbesondere würde mich interessieren, wie Du die PIN übermittelt hast.
Erledigt, ich hatte die SIM-Karte nicht korrekt eingelegt. SIM ist korrekt eingelegt wenn +CPIN=? nicht mit einem Fehler abbricht, z.B. hier wird kein Fehler ausgegeben:
Dec 9 14:24:49 mohot chat[1057]: AT+CPIN?^M^M
Dec 9 14:24:49 mohot chat[1057]: +CPIN: SIM PIN^M
Dec 9 14:24:49 mohot chat[1057]: ^M