1

Temat: Połączenie GSM w trybie NDIS

Postanowiłem przetestować działanie modemu Huawei E372 w trybie NDIS pod OpenWRT (jest to możliwe dzięki specjalnie przygotowanemu modułowi przez Cezarego).
Pierwszy problem na jaki się natknąłem to brak odpowiednich interfejsów po przełączeniu modemu. Po wysłaniu MessageContent="55534243000000000000000000000011060000000100000000000000000000" otrzymujemy:

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  4 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1506 Rev= 0.00
S:  Manufacturer=Huawei Technologies
S:  Product=HUAWEI Mobile
C:* #Ifs= 5 Cfg#= 1 Atr=c0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=usbserial_generic
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=07 Driver=usbserial_generic
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=03 Driver=usbserial_generic
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=02 Driver=usbserial_generic
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 4 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Ciekawą rzeczą jest, że numery protokołów kolejnych interfejsów odpowiadają konfiguracji ustawionej za pomocą komendy AT^SETPORT:

AT^SETPORT=?
1:MODEM
2:PCUI
3:DIAG
4:PCSC
5:GPS
6:GPS CONTROL
7:NDIS
A:BLUE TOOTH
B:FINGER PRINT
D:MMS
E:PC VOICE
A1:CDROM
A2:SD

AT^SETPORT?
a1;1,7,3,2,a2

Po zmianie MessageContent na "55534243000000000000000000000011062000000100000000000000000000" otrzymujemy:

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1506 Rev= 0.00
S:  Manufacturer=Huawei Technologies
S:  Product=HUAWEI Mobile
C:* #Ifs= 6 Cfg#= 1 Atr=c0 MxPwr=500mA
A:  FirstIf#= 1 IfCount= 2 Cls=02(comm.) Sub=00 Prot=00
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=usbserial_generic
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 1 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=01 Prot=09 Driver=(none)
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=08 Driver=usbserial_generic
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=03 Driver=usbserial_generic
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=02 Driver=usbserial_generic
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Odpowiednie interfejsy tym razem się pojawiły ale z klasą ff której moduł cdc_ether nie obsługuje.
Dopiero wysłanie MessageContent="55534243000000000000000000000011062000000000000000000000000000" powoduje pojawienie się odpowiednich interfejsów z odpowiednia klasą (zmienia nam się ProdID modemu):

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  5 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=14ac Rev= 0.00
S:  Manufacturer=Huawei Technologies
S:  Product=HUAWEI Mobile
C:* #Ifs= 7 Cfg#= 1 Atr=c0 MxPwr=500mA
A:  FirstIf#= 1 IfCount= 2 Cls=02(comm.) Sub=00 Prot=00
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 1 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=ff Driver=cdc_ether
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Niestety po pewnym czasie pojawia się błąd i połączenie przestaje działać:

Oct 24 19:34:10 OpenWrt user.warn kernel: ------------[ cut here ]------------
Oct 24 19:34:10 OpenWrt user.warn kernel: WARNING: at net/sched/sch_generic.c:261 0x802102e8()
Oct 24 19:34:10 OpenWrt user.info kernel: NETDEV WATCHDOG: usb0 (cdc_ether): transmit queue 0 timed out
Oct 24 19:34:10 OpenWrt user.warn kernel: Modules linked in: fuse usbserial cdc_ether usbnet ledtrig_usbdev nf_nat_tftp nf_conntrack_tftp nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat xt_NOTRACK iptable_raw xt_state nf_conntr
Oct 24 19:34:10 OpenWrt user.warn kernel: Call Trace:[<80069378>] 0x80069378
Oct 24 19:34:10 OpenWrt user.warn kernel: [<80069378>] 0x80069378
Oct 24 19:34:10 OpenWrt user.warn kernel: [<800874b0>] 0x800874b0
Oct 24 19:34:10 OpenWrt user.warn kernel: [<802102e8>] 0x802102e8
Oct 24 19:34:10 OpenWrt user.warn kernel: [<80087530>] 0x80087530
Oct 24 19:34:10 OpenWrt user.warn kernel: [<801fba14>] 0x801fba14
Oct 24 19:34:10 OpenWrt user.warn kernel: [<802102e8>] 0x802102e8

2

Odp: Połączenie GSM w trybie NDIS

Moduł cdc-ether, delikatnie mówiąc, trąci starością, bo jest z 2.6.32. Całkiem możliwe że coś szaleje i należało by przeportować go z nowszej wersji kernela.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Połączenie GSM w trybie NDIS

Ze strony Huawei można pobrać drivery pod linuxa (ze źródłami): http://www.huaweidevice.com/tcpsdownloa … D=NDAzMjM= ale już kiedyś wspominałeś, że nie za bardzo da się to skompilować pod OpenWRT.

4

Odp: Połączenie GSM w trybie NDIS

Tak, nie kompilowały sie pod openwrt.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Połączenie GSM w trybie NDIS

@frutis: sprawdź te: http://ecco.selfip.net/test/kmod-huawei … ar71xx.ipk
przed chwilą skompilowałem, więc nawet sam nie testowałem.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6

Odp: Połączenie GSM w trybie NDIS

Moduł ładuje się poprawnie ale problem w tym, że nie widać interfejsu sieciowego. Powinien być widoczny w /sys/class/net/?

7

Odp: Połączenie GSM w trybie NDIS

Od razu nawet po ifconfig -a.

PS to te źródła od huaweia są.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: Połączenie GSM w trybie NDIS

Niestety ale żaden interfejs się nie pojawia. Pewnie trzeba specjalnie przygotować usbnet.

9

Odp: Połączenie GSM w trybie NDIS

Dzisiaj po kilku dniach działania w trybie NDIS połączenie wysypało się z błędem:

Nov 21 21:54:10 OpenWrt user.err kernel: usb0: CDC: unexpected notification 01!
Nov 21 21:58:10 OpenWrt user.warn kernel: ------------[ cut here ]------------
Nov 21 21:58:10 OpenWrt user.warn kernel: WARNING: at net/sched/sch_generic.c:261 0x802102e8()
Nov 21 21:58:10 OpenWrt user.info kernel: NETDEV WATCHDOG: usb0 (cdc_ether): transmit queue 0 timed out
Nov 21 21:58:10 OpenWrt user.warn kernel: Modules linked in: fuse usbserial cdc_ether usbnet ledtrig_usbdev nf_nat_tftp nf_conntrack_tftp nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat xt_NOTRACK iptable_raw xt_state nf_conntr
Nov 21 21:58:10 OpenWrt user.warn kernel: Call Trace:[<80069378>] 0x80069378
Nov 21 21:58:10 OpenWrt user.warn kernel: [<80069378>] 0x80069378
Nov 21 21:58:10 OpenWrt user.warn kernel: [<800874b0>] 0x800874b0
Nov 21 21:58:10 OpenWrt user.warn kernel: [<802102e8>] 0x802102e8
Nov 21 21:58:10 OpenWrt user.warn kernel: [<80087530>] 0x80087530
Nov 21 21:58:10 OpenWrt user.warn kernel: [<801fba14>] 0x801fba14
Nov 21 21:58:10 OpenWrt user.warn kernel: [<802102e8>] 0x802102e8
Nov 21 21:58:10 OpenWrt user.warn kernel: [<80084c04>] 0x80084c04
Nov 21 21:58:10 OpenWrt user.warn kernel: [<80273910>] 0x80273910
Nov 21 21:58:10 OpenWrt user.warn kernel: [<831221b4>] 0x831221b4
Nov 21 21:58:10 OpenWrt user.warn kernel: [<800cbab8>] 0x800cbab8
Nov 21 21:58:10 OpenWrt user.warn kernel: [<800cbacc>] 0x800cbacc
Nov 21 21:58:10 OpenWrt user.warn kernel: [<80210184>] 0x80210184
Nov 21 21:58:10 OpenWrt user.warn kernel: [<80091dbc>] 0x80091dbc
Nov 21 21:58:10 OpenWrt user.warn kernel: [<80071a64>] 0x80071a64
Nov 21 21:58:10 OpenWrt user.warn kernel: [<8008cef8>] 0x8008cef8
Nov 21 21:58:10 OpenWrt user.warn kernel: [<8008cfd8>] 0x8008cfd8
Nov 21 21:58:10 OpenWrt user.warn kernel: [<8006082c>] 0x8006082c
Nov 21 21:58:10 OpenWrt user.warn kernel: [<80060a00>] 0x80060a00
Nov 21 21:58:10 OpenWrt user.warn kernel: [<8006c314>] 0x8006c314
Nov 21 21:58:10 OpenWrt user.warn kernel: [<8006d854>] 0x8006d854
Nov 21 21:58:10 OpenWrt user.warn kernel: [<80060a20>] 0x80060a20
Nov 21 21:58:10 OpenWrt user.warn kernel: [<802eea54>] 0x802eea54
Nov 21 21:58:10 OpenWrt user.warn kernel: [<802ee3a8>] 0x802ee3a8
Nov 21 21:58:10 OpenWrt user.warn kernel: ---[ end trace 995640d98cf7eec1 ]---

Co ciekawe nie trzeba ponownie załadować modułów czy restartować modemu. Z jakiegoś powodu połączenie zostało zerwane przez modem. Wystarczyło wysłać komendę do modemu i odświeżyć dzierżawę DHCP.

W jaki sposób można monitorować połączenie cdc i w razie takiej sytuacji odnowić je?

10

Odp: Połączenie GSM w trybie NDIS

Najlepiej po prostu sprawdzać czy istnieje połączenie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11 (edytowany przez frutis 2012-01-15 19:01:00)

Odp: Połączenie GSM w trybie NDIS

Udało mi się dzisiaj odpalić połączenie używając driver'a od Huawei na Fedorze. Moduły jakie są tam załadowane to:

hw_cdc_driver   21517 0
mii              3578 2 hw_cdc_driver,pcnet32
pcnet32         26409 0

Interfejs sieciowy pojawia się po przełączeniu modemu. Czy moduł mii zbudowany dla ar71xx można gdzieś znaleźć?
Logi z podłączenia modemu:

Jan 15 18:19:11 localhost kernel: [ 2767.415671] usb 1-1: new high speed USB device using ehci_hcd and address 9
Jan 15 18:19:12 localhost kernel: [ 2767.989236] usb 1-1: New USB device found, idVendor=12d1, idProduct=1446
Jan 15 18:19:12 localhost kernel: [ 2767.989243] usb 1-1: New USB device strings: Mfr=3, Product=2, SerialNumber=0
Jan 15 18:19:12 localhost kernel: [ 2767.989249] usb 1-1: Product: HUAWEI Mobile
Jan 15 18:19:12 localhost kernel: [ 2767.989253] usb 1-1: Manufacturer: Huawei Technologies
Jan 15 18:19:12 localhost kernel: [ 2768.132360] scsi10 : usb-storage 1-1:1.0
Jan 15 18:19:12 localhost HWActivator: Daemon already running
Jan 15 18:19:12 localhost HWActivator: Daemon already running
Jan 15 18:19:12 localhost HWActivator: Daemon already running
Jan 15 18:19:12 localhost HWActivator: error opening given file name
Jan 15 18:19:13 localhost kernel: [ 2769.149868] scsi 10:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
Jan 15 18:19:13 localhost HWActivator: Daemon already running
Jan 15 18:19:13 localhost HWActivator: Daemon already running
Jan 15 18:19:13 localhost kernel: [ 2769.188914] sr2: scsi-1 drive
Jan 15 18:19:13 localhost kernel: [ 2769.189622] sr 10:0:0:0: Attached scsi generic sg2 type 5
Jan 15 18:19:13 localhost HWActivator: Daemon already running
Jan 15 18:19:13 localhost HWActivator: Daemon already running
Jan 15 18:19:13 localhost HWActivator: Daemon already running
Jan 15 18:19:13 localhost udevd-work[22380]: kernel-provided name 'sr2' and NAME= 'hwcdrom' disagree, please use SYMLINK+= or change the kernel to provide the proper name
Jan 15 18:19:13 localhost HWActivator: Daemon already running
Jan 15 18:19:17 localhost HWActivator: error opening given file name
Jan 15 18:19:21 localhost HWActivator: error opening given file name
Jan 15 18:19:25 localhost udevd-work[22446]: kernel-provided name 'sr2' and NAME= 'hwcdrom' disagree, please use SYMLINK+= or change the kernel to provide the proper name
Jan 15 18:19:26 localhost kernel: [ 2782.000965] usb 1-1: reset high speed USB device using ehci_hcd and address 9
Jan 15 18:19:41 localhost kernel: [ 2797.051639] usb 1-1: USB disconnect, address 9
Jan 15 18:19:41 localhost kernel: [ 2797.052076] sr 10:0:0:0: Device offlined - not ready after error recovery
Jan 15 18:19:41 localhost kernel: [ 2797.058812] scsi 10:0:0:0: rejecting I/O to dead device
Jan 15 18:19:41 localhost kernel: [ 2797.061952] scsi 10:0:0:0: rejecting I/O to dead device
Jan 15 18:19:41 localhost kernel: [ 2797.164776] usb 1-1: new high speed USB device using ehci_hcd and address 10
Jan 15 18:19:41 localhost kernel: [ 2797.536341] usb 1-1: New USB device found, idVendor=12d1, idProduct=1506
Jan 15 18:19:41 localhost kernel: [ 2797.536345] usb 1-1: New USB device strings: Mfr=4, Product=3, SerialNumber=0
Jan 15 18:19:41 localhost kernel: [ 2797.536349] usb 1-1: Product: HUAWEI Mobile
Jan 15 18:19:41 localhost kernel: [ 2797.536351] usb 1-1: Manufacturer: Huawei Technologies
Jan 15 18:19:42 localhost kernel: [ 2797.937117] scsi11 : usb-storage 1-1:1.7
Jan 15 18:19:42 localhost HWActivator: Daemon already running
Jan 15 18:19:42 localhost HWActivator: Daemon already running
Jan 15 18:19:42 localhost HWActivator: Daemon already running
Jan 15 18:19:42 localhost HWActivator: Daemon already running
Jan 15 18:19:42 localhost HWActivator: Daemon already running
Jan 15 18:19:42 localhost HWActivator: Daemon already running
Jan 15 18:19:42 localhost HWActivator: Daemon already running
Jan 15 18:19:42 localhost HWActivator: Daemon already running
Jan 15 18:19:42 localhost HWActivator: Daemon already running
Jan 15 18:19:42 localhost HWActivator: Daemon already running
Jan 15 18:19:42 localhost HWActivator: Daemon already running
Jan 15 18:19:42 localhost NetworkManager[1123]: <error> [1326669582.537518] [nm-device-ethernet.c:729] real_update_permanent_hw_address(): (eth1): unable to read permanent MAC address (error 0)
Jan 15 18:19:42 localhost NetworkManager[1123]: <info> (eth1): carrier is OFF
Jan 15 18:19:42 localhost NetworkManager[1123]: <info> (eth1): new Ethernet device (driver: 'huawei_ether' ifindex: 9)
Jan 15 18:19:42 localhost NetworkManager[1123]: <info> (eth1): exported as /org/freedesktop/NetworkManager/Devices/4
Jan 15 18:19:42 localhost NetworkManager[1123]: <info> (eth1): now managed
Jan 15 18:19:42 localhost NetworkManager[1123]: <info> (eth1): device state change: 1 -> 2 (reason 2)
Jan 15 18:19:42 localhost NetworkManager[1123]: <info> (eth1): bringing up device.
Jan 15 18:19:42 localhost NetworkManager[1123]: <info> (eth1): preparing device.
Jan 15 18:19:42 localhost NetworkManager[1123]: <info> (eth1): deactivating device (reason: 2).
Jan 15 18:19:42 localhost kernel: [ 2798.300050] ADDRCONF(NETDEV_UP): eth1: link is not ready
Jan 15 18:19:42 localhost NetworkManager[1123]: <info> Added default wired connection 'Auto eth1' for /sys/devices/pci0000:00/0000:00:11.0/0000:02:02.0/usb1/1-1/1-1:1.1/net/eth1
Jan 15 18:19:42 localhost HWActivator: Daemon already running
Jan 15 18:19:43 localhost kernel: [ 2798.955694] scsi 11:0:0:0: Direct-Access     HUAWEI   TF CARD Storage  2.31 PQ: 0 ANSI: 2
Jan 15 18:19:43 localhost kernel: [ 2798.960365] sd 11:0:0:0: Attached scsi generic sg2 type 0
Jan 15 18:19:43 localhost HWActivator: Daemon already running
Jan 15 18:19:43 localhost kernel: [ 2798.978593] sd 11:0:0:0: [sda] Attached SCSI removable disk
Jan 15 18:19:43 localhost HWActivator: Daemon already running
Jan 15 18:19:43 localhost HWActivator: Daemon already running
Jan 15 18:19:43 localhost HWActivator: Daemon already running
Jan 15 18:19:43 localhost HWActivator: Daemon already running
Jan 15 18:19:43 localhost HWActivator: Daemon already running
Jan 15 18:19:43 localhost HWActivator: Daemon already running
Jan 15 18:19:47 localhost HWActivator: HW load_for_dynamic_pid start
Jan 15 18:19:47 localhost HWActivator: load_for_dynamic_pid is called start
Jan 15 18:19:47 localhost kernel: [ 2803.127559] option 1-1:1.0: GSM modem (1-port) converter detected
Jan 15 18:19:47 localhost kernel: [ 2803.134866] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
Jan 15 18:19:47 localhost kernel: [ 2803.134954] option 1-1:1.3: GSM modem (1-port) converter detected
Jan 15 18:19:47 localhost kernel: [ 2803.138107] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
Jan 15 18:19:47 localhost kernel: [ 2803.138158] option 1-1:1.4: GSM modem (1-port) converter detected
Jan 15 18:19:47 localhost kernel: [ 2803.138262] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
Jan 15 18:19:47 localhost kernel: [ 2803.138303] option 1-1:1.5: GSM modem (1-port) converter detected
Jan 15 18:19:47 localhost kernel: [ 2803.138449] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB3
Jan 15 18:19:47 localhost kernel: [ 2803.138494] option 1-1:1.6: GSM modem (1-port) converter detected
Jan 15 18:19:47 localhost kernel: [ 2803.138610] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB4
Jan 15 18:19:47 localhost HWActivator: load_for_dynamic_pid is called end
Jan 15 18:19:47 localhost HWActivator: HW load_for_dynamic_pid end
Jan 15 18:19:47 localhost HWActivator: fxz:The path=/usr/local/Mobile_Partner/config/autorun/config
Jan 15 18:19:47 localhost HWActivator: Open config file failed, asume the autorun is activated
Jan 15 18:19:47 localhost HWActivator: start MobilePartner, the dashboard is .bin
Jan 15 18:19:47 localhost HWActivator: Daemon already running
Jan 15 18:19:47 localhost HWActivator: Daemon already running
Jan 15 18:19:47 localhost HWActivator: Daemon already running
Jan 15 18:19:47 localhost HWActivator: Daemon already running
Jan 15 18:19:47 localhost HWActivator: Daemon already running
Jan 15 18:19:47 localhost udevd-work[22488]: kernel-provided name 'ttyUSB0' and NAME= 'ttyUSB_utps_modem' disagree, please use SYMLINK+= or change the kernel to provide the proper name
Jan 15 18:19:47 localhost udevd-work[22489]: kernel-provided name 'ttyUSB1' and NAME= 'ttyUSB_utps_diag' disagree, please use SYMLINK+= or change the kernel to provide the proper name
Jan 15 18:19:47 localhost udevd-work[22571]: kernel-provided name 'ttyUSB3' and NAME= 'ttyUSB_utps_gps' disagree, please use SYMLINK+= or change the kernel to provide the proper name
Jan 15 18:19:47 localhost udevd-work[22570]: kernel-provided name 'ttyUSB2' and NAME= 'ttyUSB_utps_pcui' disagree, please use SYMLINK+= or change the kernel to provide the proper name
Jan 15 18:19:47 localhost udevd-work[22572]: kernel-provided name 'ttyUSB4' and NAME= 'ttyUSB_utps_control' disagree, please use SYMLINK+= or change the kernel to provide the proper name
Jan 15 18:19:47 localhost HWActivator: Daemon already running
Jan 15 18:19:47 localhost HWActivator: Daemon already running
Jan 15 18:19:47 localhost HWActivator: Daemon already running
Jan 15 18:19:47 localhost HWActivator: Daemon already running
Jan 15 18:19:47 localhost HWActivator: Daemon already running
Jan 15 18:19:52 localhost kernel: [ 2807.985196] hw_send_qmi_request: get the conn status req=22 resp
Jan 15 18:19:52 localhost kernel: [ 2807.985203] hw_cdc_check_status_work: carrier off
Jan 15 18:19:52 localhost kernel: [ 2807.990939] hw_send_qmi_request: get the conn status req=22 resp
Jan 15 18:19:52 localhost kernel: [ 2807.990943] hw_cdc_check_status_work: carrier off
Jan 15 18:19:52 localhost kernel: [ 2807.995922] hw_send_qmi_request: get the conn status req=22 resp
Jan 15 18:19:52 localhost kernel: [ 2807.995925] hw_cdc_check_status_work: carrier off
Jan 15 18:19:59 localhost HWActivator: HWActivator: sockaddr is not binded.
Jan 15 18:20:01 localhost MobilePartner.bin: ndis_get_status() entry.
Jan 15 18:20:01 localhost MobilePartner.bin: ndis_get_status() exit.
Jan 15 18:20:01 localhost MobilePartner.bin: ndis_close() entry.
Jan 15 18:20:01 localhost MobilePartner.bin: ndis_close() exit.
Jan 15 18:20:01 localhost MobilePartner.bin: ndis_open() entry.
Jan 15 18:20:01 localhost MobilePartner.bin: Finding Huawei NDIS device USBDEVFS_CONTROL
Jan 15 18:20:01 localhost MobilePartner.bin: Finded Huawei NDIS device interface
Jan 15 18:20:01 localhost MobilePartner.bin: Create the read thread successfully.
Jan 15 18:20:01 localhost MobilePartner.bin: ndis_get_status() entry.
Jan 15 18:20:02 localhost HWActivator: fxz:The path=/usr/local/Mobile_Partner/config/autorun/config
Jan 15 18:20:02 localhost HWActivator: Open config file failed, asume the autorun is activated
Jan 15 18:20:02 localhost HWActivator: start MobilePartner, the dashboard is .bin
Jan 15 18:20:03 localhost MobilePartner.bin: Get response for get device name
Jan 15 18:20:03 localhost MobilePartner.bin: Get device device name: 0
Jan 15 18:20:04 localhost MobilePartner.bin: Get device name successfully.
Jan 15 18:20:04 localhost MobilePartner.bin: ndis_open() succeed.
Jan 15 18:20:07 localhost MobilePartner.bin: Get response for CONNECT
Jan 15 18:20:07 localhost MobilePartner.bin: ndis_query_status: Get Response message DISCONNECTED
Jan 15 18:20:08 localhost MobilePartner.bin: ndis_get_status() exit.
Jan 15 18:20:09 localhost MobilePartner.bin: ndis_get_status() entry.
Jan 15 18:20:10 localhost MobilePartner.bin: Get response for CONNECT
Jan 15 18:20:10 localhost MobilePartner.bin: ndis_query_status: Get Response message DISCONNECTED
Jan 15 18:20:11 localhost MobilePartner.bin: ndis_get_status() exit.
Jan 15 18:20:12 localhost MobilePartner.bin: ndis_get_status() entry.
Jan 15 18:20:13 localhost MobilePartner.bin: Get response for CONNECT
Jan 15 18:20:13 localhost MobilePartner.bin: ndis_query_status: Get Response message DISCONNECTED
Jan 15 18:20:14 localhost MobilePartner.bin: ndis_get_status() exit.
Jan 15 18:20:15 localhost MobilePartner.bin: ndis_get_status() entry.
Jan 15 18:20:16 localhost MobilePartner.bin: Get response for CONNECT
Jan 15 18:20:16 localhost MobilePartner.bin: ndis_query_status: Get Response message DISCONNECTED
Jan 15 18:20:17 localhost MobilePartner.bin: ndis_get_status() exit.
Jan 15 18:20:18 localhost MobilePartner.bin: ndis_get_status() entry.
Jan 15 18:20:19 localhost MobilePartner.bin: Get response for CONNECT
Jan 15 18:20:19 localhost MobilePartner.bin: ndis_query_status: Get Response message DISCONNECTED
Jan 15 18:20:20 localhost MobilePartner.bin: ndis_get_status() exit.
Jan 15 18:20:21 localhost MobilePartner.bin: ndis_get_status() entry.

12

Odp: Połączenie GSM w trybie NDIS

pcnet32 nie potrzebujesz, to sterownik fizycznej karty sieciowej ethernet.

mii jest na stałe wkompilowane w jądro (nie jest w postaci modułu).

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: Połączenie GSM w trybie NDIS

Ale w obrazach openwrt mii nie jest wkompilowane?

14

Odp: Połączenie GSM w trybie NDIS

Jest wkompilowane w kernel w openwrt.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: Połączenie GSM w trybie NDIS

Załadowałem moduł hw_cdc_driver który kiedyś przygotowałeś ale nie ładując równocześnie usbnet i interfejs eth2 się pojawił smile Teraz jest tylko problem z pobraniem adresu z dhcp. Po starcie interfejsu nic się nie dzieje (połączenie ustanowiłem wcześniej komendą AT^NDISDUP=1,1,"internet"):

root@OpenWrt:~$ udhcpc (v1.15.3) started
Sending discover...
Sending discover...
Sending discover...

A tak mam skonfigurowany interfejs:

config interface wan
        option auto 0
        option proto dhcp
        option ifname eth2
        option macaddr 00:1E:10:1F:00:01

16

Odp: Połączenie GSM w trybie NDIS

No nie działa. Też sprawdziłem właśnie - interfejs się pojawia, połączenie jest, adresu nie pobiera.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17

Odp: Połączenie GSM w trybie NDIS

Na Fedorze po nawiązaniu połączenia komendą AT też nie otrzymujemy adresu z serwera DHCP. Teraz trzeba się dowiedzieć jak to robi Mobile Partner.

18

Odp: Połączenie GSM w trybie NDIS

http://www.draisberghof.de/usb_modeswit … .php?t=706

na stronie 2 jest mowa o źródłach Gobi 2000/300

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

19 (edytowany przez frutis 2012-01-17 10:15:37)

Odp: Połączenie GSM w trybie NDIS

Jakieś źródła można znaleźć tutaj: https://www.codeaurora.org/patches/quic/gobi/. Ale nie wiem czy to coś da.
Znalazłem też ciekawy wątek odnośnie DHCP tutaj: http://www.spinics.net/lists/linux-usb/msg55143.html.

20

Odp: Połączenie GSM w trybie NDIS

Ciekawe. Wrócę do domu to sprawdzę czy działa.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21 (edytowany przez frutis 2012-01-17 15:17:06)

Odp: Połączenie GSM w trybie NDIS

Znalazłem też jakieś posty osoby która prawdopodobnie ten driver przygotowywała: http://comments.gmane.org/gmane.linux.usb.general/15954, http://comments.gmane.org/gmane.linux.kernel/914980.

A tutaj kawałek kodu gdzie adresy ip są odczytywane za pomocą komendy AT^DHCP: http://www.meego.gitorious.org/meego-ce … -context.c.

22

Odp: Połączenie GSM w trybie NDIS

Zwykły skrypt wystarczy:

A='4d92124d,fcffffff,4e92124d,4e92124d,470d5c1,c60f4382,100000000,50000000'

IP=$(echo "$A" | cut -f1 -d,)
NETMASK=$(echo "$A" | cut -f2 -d,)
GATEWAY=$(echo "$A" | cut -f3 -d,)
if [ ${#IP} -eq "8" ] && [ ${#NETMASK} -eq "8" ] && [ ${#GATEWAY} -eq "8" ]; then
    IP=$(printf "%d.%d.%d.%d" 0x${IP:6:2} 0x${IP:4:2} 0x${IP:2:2} 0x${IP:0:2})
    NETMASK=$(printf "%d.%d.%d.%d" 0x${NETMASK:6:2} 0x${NETMASK:4:2} 0x${NETMASK:2:2} 0x${NETMASK:0:2})
    GATEWAY=$(printf "%d.%d.%d.%d" 0x${GATEWAY:6:2} 0x${GATEWAY:4:2} 0x${GATEWAY:2:2} 0x${GATEWAY:0:2})
   $DEBUG ifconfig $ETH $IP netmask $NETMASK
   $DEBUG ip route add default via $GATEWAY
fi

Ale i tak nie działa. U mnie at^dhcp potwierdza, ale nie zwraca danych.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

23

Odp: Połączenie GSM w trybie NDIS

A jaka komendę wysyłasz dokładnie? Powinno być "AT^DHCP?".

24

Odp: Połączenie GSM w trybie NDIS

Tak jest. Po drobnych poprawkach działa. Coś takiego:

#!/bin/sh
DEBUG=
PORT=/dev/ttyUSB2
ETH=eth2

MODE="AT^NDISDUP=1,0" gcom -d $PORT -s /etc/gcom/setmode.gcom
sleep 3
MODE="AT^NDISDUP=1,1,\"darmowy\"" gcom -d $PORT -s /etc/gcom/setmode.gcom
sleep 3

A=`((sleep 1 && echo -e "AT^DHCP?\r" >$PORT) &) &&  grep -m1 "DHCP:" $PORT | cut -f2 -d:`

IP=$(echo "$A" | cut -f1 -d,)
NETMASK=$(echo "$A" | cut -f2 -d,)
GATEWAY=$(echo "$A" | cut -f3 -d,)
if [ ${#IP} -eq "8" ] && [ ${#NETMASK} -eq "8" ] && [ ${#GATEWAY} -eq "8" ]; then
    IP=$(printf "%d.%d.%d.%d" 0x${IP:6:2} 0x${IP:4:2} 0x${IP:2:2} 0x${IP:0:2})
           NETMASK=$(printf "%d.%d.%d.%d" 0x${NETMASK:6:2} 0x${NETMASK:4:2} 0x${NETMASK:2:2} 0x${NETMASK:0:2})
        GATEWAY=$(printf "%d.%d.%d.%d" 0x${GATEWAY:6:2} 0x${GATEWAY:4:2} 0x${GATEWAY:2:2} 0x${GATEWAY:0:2})
        $DEBUG ifconfig $ETH $IP netmask $NETMASK
        $DEBUG ip route add default via $GATEWAY
fi
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

25

Odp: Połączenie GSM w trybie NDIS

Hmm, nie działa transmisja po chwili. Adres pobiera, połączenie jest podtrzymane, umiera transmisja po chwili.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.