Hallo Community,
in der LU 02.2011 ab Seite 80 wurde von Erik Bärwaldt der Mobile Hotspot Huawei E5 vorgestellt. Ich habe kurz darauf ein Gerät erworben. Der Zugriff per WLAN funktioniert bei mir unter Fedora 14 erwartungsgemäß ganz ausgezeichnet.
Ein wichtiges Feature wurde von dem Autor des Artikels aber außer Acht gelassen. Das Gerät kann nämlich auch prinzipiell via USB genutzt werden (wenn das Notebook zB. kein WLAN hat). Leider ist mir das trotz umfangreicher Experimente nicht gelungen.
Ich bin aber der Meinung dass einerseits das Modem in dem Gerät sich ähnlich wie z.B. ein Huawei E220 verhalten müsste und andererseits müsste man wahrscheinlich auch per RNDIS/usbnet darauf zugreifen können. Beides ist mir leider nicht gelungen.
Nach dem Anstecken an den USB-Port meldet es sich zuerst mit 12d1:1446, um dann mittels usb-modeswitch auf 12d1:1401 umgeschaltet zu werden. Dadurch werden dann auch ttyUSB0,1,2 erzeugt, allerdings kann der ModemManager nichts damit anfangen. Ich dachte mir, ich könnte ihn durch die Ergänzung von 0x1401 im Abschnitt “Huawei” in der
/etc/hal/fdi/information/10-modem.fdi bekannt machen, aber scheinbar wird das ignoriert.
Somit meine Frage:
Hat schon irgend jemand den Huawei E5 unter Linux (vorzugsweise Fedora 14) am USB-Anschluss nutzen können ?
Die Verwendung als USB-Modem wäre schon nicht schlecht, optimal wäre aber sicher ein Netzwerk-Device via USB.
Viele Grüße
Roman
Hallo Roman,
hast du es schon einmal mit Umtsmon anstelle des Networkmangers versucht?
Hallo Roman,
die Sourcen des Mobile Hotspot Huawei E5 findest Du hier:
http://blog.knecht-ruprecht.info/2010/01/quellcodesource-code-des-huawei-e5.html
Evtl. findest Du dort irgend etwas hilfreiches.
Dann habe ich noch folgende Info über die USB ID gefunden:
http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?p=1957&sid=861d5384a685c6ffc9bc8f03e83b3af1
http://ubuntuforums.org/showthread.php?t=1417992
http://forum.ubuntuusers.de/topic/suche-treiber-fuer-huawei-e5830/2/?highlight=huawei+e5
Auf LinuxUsb (normaler weise eine der ersten Anlaufstellen), habe ich leider nichts gefunden (suche nach 12d1:1401).
Leider kann ich Dir sonnst nicht weiter helfen.
Gruß
Ulf
Hallo Ulf,
vielen Dank für Deine Hinweise (obwohl ich die z.T. schon kannte). Leider bin ich aber auch nicht weiter gekommen. Ich habe auch mal umtsmon und sakis3g ausprobiert, funktioniert aber auch nicht damit. Beide erkennen zwar das ttyUSB0 können aber nicht mit dem Modem sprechen.
Scheinbar versuchen auch alle in den anderen Postings das E5 nur wie ein USB-Modem zu benutzen. Ich bin überzeugt, dass das grundsätzlich möglich ist, mein eigentliches Ziel ist aber der Betrieb wie ein USB-Netzwerkgerät. Wenn man z.B. einen HTC Hermes an einen Linux-PC über USB anschließt, dann wird automatisch das usbnet Kernelmodul geladen (und cdc_ether usw.) und man hat eine IP-Verbindung über USB zu dem Gerät. So ist es auch mit dem E5 unter Windows. Da kann man dann z.B. mittels Browser über USB auf 192.168.0.1 das Webinterface des E5 erreichen, genau so wie über WLAN. Unter Windows gibt es dafür auch den usbnet-Treiber.
Ich war übrigens auf der CeBIT auf dem Huawei-Stand und habe meinen Wunsch nach Unterstützung in dieser Sache vorgetragen. Ein Chinese entgegnete mir in gebrochenem Englisch sinngemäß, wenn es denn mit Windows funktionieren würde, warum ich dann Linux benutzen wollte. :(
Ich werde jedenfalls in der usbnet-Richtung in den nächsten Tagen weiter forschen.
Für weitere Hinweise wäre ich sehr dankbar.
Roman.
Suchst du vielleicht das?
Die IP Verbindung wird mit hoher Wahrscheinlichkeit nicht wirklich im E5 erstellt sondern in der Regel vom Treiber.
Aber gebe mir mal mehr Information (da ich ja kein E5 besitzte).
Was sagt denn lsusb -v [-s [[bus]:][devnum]]?
Meldet sich USB als Modem oder Netzwerkdevice, was zeigt lsusb sonst noch für wichtige Infos?
Ulf
Hallo Frank,
USB/IP leitet die USB Daten vom stub Treiber direkt via Ethernet an einen anderen Linux Rechner, auf dem dann die core Treiber und PPDs verwendet werden.
Ulf
Hallo Frank,
Du hast da auch ein interessantes Projekt ausgegraben, aber ich bin mir sicher dass die Lösung für mein ursprüngliches Problem, nämlich ein Huawei E5 am USB zu betreiben, eher hier zu finden ist: http://www.linux-usb.org/usbnet/
Leider scheint da nicht sehr viel Aktivität zu sein.
Roman.
Hallo Ulf,
lsusb -v zeigt folgendes an:
Bus 001 Device 004: ID 12d1:1446 Huawei Technologies Co., Ltd. E1552 (HSPA modem)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x12d1 Huawei Technologies Co., Ltd.
idProduct 0x1446 E1552 (HSPA modem)
bcdDevice 1.00
iManufacturer 3 Huawei Incorporated
iProduct 2 HUAWEI Mobile Connect
iSerial 1 1234567890ABCDEF
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk (Zip)
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
Das 12d1:1446 würde dann als nächstes von usb_modeswitch zu 12d1:1401 umgeschaltet, was dann wiederum noch ein CD-ROM-Device und den Speicher der eingesetzten MicroSD-Karte zu Tage fördert:
Bus 001 Device 004: ID 12d1:1401 Huawei Technologies Co., Ltd.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x12d1 Huawei Technologies Co., Ltd.
idProduct 0x1401
bcdDevice 1.00
iManufacturer 3 Huawei Incorporated
iProduct 2 HUAWEI Mobile Connect
iSerial 1 1234567890ABCDEF
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 115
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk (Zip)
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 4 Ethernet Data
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
Besonders interessant finde ich aber den Hinweis: “Ethernet Data” und von einem Modem ist auch nichts mehr zu sehen.
Das deckt sich dann auch genau mit dem verhalten unter Windows, wo nämlich auch ein Netzwerkgerät erkannt wird.
Windows bezieht dann von diesem Peer sogar per DHCP eine Adresse etc.:
Mobiler Breitbandadapter Mobile Breitbandverbindung:
Verbindungsspezifisches DNS-Suffix:
Beschreibung. . . . . . . . . . . : HUAWEI Mobile Connect – 3G Network Card
Physikalische Adresse . . . . . . : 00-1E-10-1F-E5-E1
DHCP aktiviert. . . . . . . . . . : Ja
Autokonfiguration aktiviert . . . : Ja
IPv4-Adresse . . . . . . . . . . : 192.168.1.100(Bevorzugt)
Subnetzmaske . . . . . . . . . . : 255.255.255.0
Lease erhalten. . . . . . . . . . : Dienstag, 15. März 2011 00:05:50
Lease läuft ab. . . . . . . . . . : Mittwoch, 16. März 2011 00:05:50
Standardgateway . . . . . . . . . : 192.168.1.1
DHCP-Server . . . . . . . . . . . : 192.168.1.1
DNS-Server . . . . . . . . . . . : 192.168.1.1
192.168.1.1
NetBIOS über TCP/IP . . . . . . . : Aktiviert
Unter Windows wird das E5 im Gerätemanager auch eindeutig unter Netzwerkadapter als “HUAWEI Mobile Connect – 3G Network Card” eingeordnet (USB\VID_12D1&PID_1401). Unter Modems steht dagegen gar nichts. Windows lädt dafür übrigens den Treiber “ewusbnet.sys”
Gruß,
Roman
(ps: sorry, dass die Formatierung auf der Strecke geblieben ist)
Und wenn von einem Modem nichts mehr zu sehen ist, was sagt dann ein ifconfig?
Hallo M.
leider spuckt ifconfig -a nicht das erhoffte ethx-device aus, kann ja auch nicht, weil das usbnet Kernelmodul nicht geladen wurde und der devicenode nicht erzeugt wurde.
Und genau da ist wahrscheinlich der Ansatz wo man weiter suchen müsste.
Ich glaube der erste Fehler liegt darin, dass Linux meint, anhand der ID 12d1:1401 ein Modem erkennen zu müssen. Scheinbar gibt es tatsächlich andere Geräte von Huawei die die gleiche ID haben und tatsächlich nur ein Modem sind. Ich bin auch noch unsicher ob es an udev oder an usb_modeswitch liegt.
Das passt auch zu meiner Beobachtung unter Windows, wo nämlich beim Anstöpseln des Gerätes auch erst eine paar andere Treiber geladen werden, die aber garnicht zu dem Huawei E5 passen sonder nur für andere Sticks. Schlieslich wird dann aber ewusbnet.sys geladen und der “Netzwerkadatpter” erzeugt.
Unter Linux müsste es eigentlich so funktionieren, wie wenn ich meinen MDA Vario II (HTC Hermes) anschließe, nämlich dass von udev usbnet, cdc_ether und noch ein paar andere Kernelmodule geladen werden. Es wird dabei auch ein devicenode für eth1 erzeugt. Dann wird von dem MDA per DHCP eine IP-Adresse an eth1 zugeteilt. Genau so würde ich das auch für das Huawei E5 erwarten, eben weil es unter Windows auch so funktioniert.
c u,
Roman
Vielleicht hilft das irgendwie? Hier geht es auch um USB/Netzwerk