76

Odp: Połączenie GSM w trybie NDIS

A skad konkretnie pochodzi patch dla cdc_ether? Jakos nie moge go znalezc w katalogu patches-3.3.

77

Odp: Połączenie GSM w trybie NDIS

Masz go zrobić. Zmodyfikowałeś źródła, zrób diff z oryginalnymi będziesz miał patcha.

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

78

Odp: Połączenie GSM w trybie NDIS

Ok, już wiem jak zrobić patcha.

Ale chciałbym się jeszcze dowiedzieć skąd się wziął patch dodający obsługę cdc w modemach Huawei (dla modułu cdc_ether). W źródłach pobranych z openwrt nie mogę go znaleźć. Czy jest on jakoś dynamicznie generowany? Jeśli tak to w jaki sposób?

79

Odp: Połączenie GSM w trybie NDIS

Jeżeli pytasz o trunka to toto już jest do kernela oddane.

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

80 (edytowany przez rusink 2012-06-13 07:03:57)

Odp: Połączenie GSM w trybie NDIS

frutis napisał/a:

Probuje dodac do kompilacji modul hw_cdc_driver i nie za bardzo mi sie to udaje.
....
Co jeszcze musze dodac/zmienic albo co zle skonfigurowalem?

Sorry, I writing english. Did you compile this driver succesfully for OpenWRT? I'v tryed to compile it (for 2.6.39.4 Kernel Version ) but got some mistackes - error: redefinition of...

Here is a part of report:

In file included from drivers/net/usb/hw_cdc_driver.c:132:0:
include/linux/unaligned/access_ok.h:7:19: error: redefinition of 'get_unaligned_le16'
include/linux/unaligned/le_struct.h:6:19: note: previous definition of 'get_unaligned_le16' was here

The problem is here :

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
#include <linux/unaligned/access_ok.h>
#else

 static inline u16 get_unaligned_le16(const void *p)
{
    return le16_to_cpup((__le16 *)p);
}

static inline u32 get_unaligned_le32(const void *p)
{
    return le32_to_cpup((__le32 *)p);
}

static inline void put_unaligned_le16(u16 val, void *p)
{
    *((__le16 *)p) = cpu_to_le16(val);
}

static inline void put_unaligned_le32(u32 val, void *p)
{
    *((__le32 *)p) = cpu_to_le32(val);
} 
#endif 

I think gcc try to copy the same code from varios headers. sad  I've succesfully compiled thise driver under Debian (2.6.32-5-686) & for ZyXEL Keenetic (OpenWRT based - 2.6.23-rt), but no idea how to do it for another kernel sad

81

Odp: Połączenie GSM w trybie NDIS

Just remove this declaration.

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

82 (edytowany przez janptak 2012-06-13 07:03:09)

Odp: Połączenie GSM w trybie NDIS

Myślę nad przełączeniem E372 w tryb NDIS i jestem po przeczytaniu poradników tego dotyczących (http://eko.one.pl/?p=openwrt-ndis, http://eko.one.pl/forum/viewtopic.php?id=3276&p=2 i ten wątek)

Po wydaniu komendy

# cat /proc/bus/usb/devices

brakuje sekcji |none|

root@OpenWrt:~$  cat /proc/bus/usb/devices

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0001 Rev= 2.06
S:  Manufacturer=Linux 2.6.32.27 ohci_hcd
S:  Product=Atheros AR71xx built-in OHCI controller
S:  SerialNumber=ar71xx-ohci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 2
B:  Alloc=  2/800 us ( 0%), #Int=  2, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 2.06
S:  Manufacturer=Linux 2.6.32.27 ehci_hcd
S:  Product=Atheros AR71xx built-in EHCI controller
S:  SerialNumber=ar71xx-ehci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

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= 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=01 Prot=01 Driver=option
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=option
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=option
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=option
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=option
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

I stąd moje wątpliwości. Mam jedno pytanie do osób korzystających z E372 - czy Huawei E372 w trybie NDIS działa już poprawnie i nadaje się do codziennego używania? Czy powinienem zrobić coś więcej niż jest to w ww poradnikach żeby to zaskoczyło? Chodzi mi o zwykłe działanie jednego modemu, bez mwana.

Pozdrawiam serdecznie

Netgear WDNR3700 v2
Gargoyle 1.6.2.2 (r42647)
Modem 3G: Huawei E372

83

Odp: Połączenie GSM w trybie NDIS

Dla niektórych modemów kod przełączający jest "inny" bo nie powstają te interfejsy odpowiadające za ndis. Zobacz pierwszy post tego wątku.

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

84

Odp: Połączenie GSM w trybie NDIS

Cezary napisał/a:

Just remove this declaration.

Przepraszamy, nie rozumiem co masz na myśli. Można odpowiedzieć w języku polskim. Delali patch dla hw_cdc_ether pod OpenWRT? Dziękuję

85

Odp: Połączenie GSM w trybie NDIS

Skasuj tego całego if'a. Kod się skompiluje bez niego.

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

86 (edytowany przez rusink 2012-06-13 07:52:17)

Odp: Połączenie GSM w trybie NDIS

Cezary napisał/a:

Skasuj tego całego if'a. Kod się skompiluje bez niego.

Dobrze. Dziękuję. A co jest jądrem OpenWRT?

87

Odp: Połączenie GSM w trybie NDIS

Nic. Kompilowało się to zarówno dla backfire (2.6.32)  jak i trunka (3.3.8 obecnie).

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

88

Odp: Połączenie GSM w trybie NDIS

qmi_wwan z 3.4 przeniesiony do 3.3.8 kompiluje się bezbłędnie (do przeniesienia jest własnie qmi_wwan.c, cdc-wdm.h cdc-wdm.c i oczywiście dodanie do Makefile i Kconfig). To teraz tylko niech się znajdzie ktoś z E398 i niech sobie skompiluje i zobaczy czy działa.

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

89

Odp: Połączenie GSM w trybie NDIS

Miło to słyszeć smile. Ja co prawda nie mam E398 ale spróbuję sprawdzić działanie z E372. Hmm, a przejście na kernel 3.4 nie jest planowane?

90

Odp: Połączenie GSM w trybie NDIS

Pewnie nie, jak już będzie przeskok na jedną z następnych wersji. Na razie wszystko jest sprowadzone do 3,3

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

91

Odp: Połączenie GSM w trybie NDIS

Dostałem dzisiaj router TL-WR703N i postanowiłem przetestować moduł qmi_wwan który jest dostępny już w trunk'u (dzięki Cezaremu). Mnie jakoś nie wychodzi zabranie się za samodzielną kompilację smile

Modem Huawei E372 zostaje poprawnie rozpoznany i przełączony:

Aug  2 21:14:16 OpenWrt kern.info kernel: [  406.380000] usb 1-1: new high-speed USB device number 3 using ehci-platform
Aug  2 21:14:17 OpenWrt kern.err kernel: [  406.530000] cdc_wdm 1-1:1.0: Ignoring extra header, type 15, length 13
Aug  2 21:14:17 OpenWrt kern.err kernel: [  406.540000] cdc_wdm 1-1:1.0: Ignoring extra header, type 6, length 5
Aug  2 21:14:17 OpenWrt kern.info kernel: [  406.540000] cdc_wdm 1-1:1.0: cdc-wdm0: USB WDM device
Aug  2 21:14:17 OpenWrt kern.info kernel: [  406.560000] qmi_wwan 1-1:1.1: Use "cdc_wdm" for QMI interface 1-1:1.0
Aug  2 21:14:17 OpenWrt kern.info kernel: [  406.560000] qmi_wwan 1-1:1.1: wwan0: register 'qmi_wwan' at usb-ehci-platform-1, QMI speaking wwan device, 02:50:f3:00:00:00
Aug  2 21:14:17 OpenWrt kern.info kernel: [  406.570000] option 1-1:1.2: GSM modem (1-port) converter detected
Aug  2 21:14:17 OpenWrt kern.info kernel: [  406.580000] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
Aug  2 21:14:17 OpenWrt kern.info kernel: [  406.580000] option 1-1:1.3: GSM modem (1-port) converter detected
Aug  2 21:14:17 OpenWrt kern.info kernel: [  406.590000] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
Aug  2 21:14:17 OpenWrt kern.info kernel: [  406.610000] scsi1 : usb-storage 1-1:1.4
Aug  2 21:14:17 OpenWrt user.notice usb-modeswitch: 1-1:1.0: Manufacturer=Huawei_Technologies Product=HUAWEI_Mobile Serial=?
Aug  2 21:14:17 OpenWrt user.notice usb-modeswitch: 1-1:1.1: Manufacturer=Huawei_Technologies Product=HUAWEI_Mobile Serial=?
Aug  2 21:14:17 OpenWrt user.notice usb-modeswitch: 1-1:1.2: Manufacturer=Huawei_Technologies Product=HUAWEI_Mobile Serial=?
Aug  2 21:14:17 OpenWrt user.notice usb-modeswitch: 1-1:1.3: Manufacturer=Huawei_Technologies Product=HUAWEI_Mobile Serial=?
Aug  2 21:14:18 OpenWrt user.notice usb-modeswitch: 1-1:1.4: Manufacturer=Huawei_Technologies Product=HUAWEI_Mobile Serial=?
Aug  2 21:14:18 OpenWrt kern.notice kernel: [  407.610000] scsi 1:0:0:0: Direct-Access     HUAWEI   TF CARD Storage  2.31 PQ: 0 ANSI: 2
Aug  2 21:14:18 OpenWrt kern.notice kernel: [  407.620000] sd 1:0:0:0: [sda] Attached SCSI removable disk

Jak widać usb_modeswitch nie jest już potrzebne do przełączenia modemu.
Konfigurując interfejs sieciowy musimy dodać opcję:

option macaddr '00:01:02:03:04:05'

W innym przypadku połączenie nie zostanie ustanowione. Taka sama sytuacja ma miejsce w przypadku modułu cdc_ether.
Połączenie zostaje ustanowione po wysłaniu komendy:

AT^NDISDUP=1,1,"apn"

Maksymalna prędkość pobierania jaką udało mi się osiągnąć na tak zestawionym połączeniu to ok 25Mb/s.

Modem Vodafone (Huawei) K4505 który również działa w trybie NDIS nie jest obsługiwany.

92

Odp: Połączenie GSM w trybie NDIS

Czyli działa - to dobrze. Żadnych innych zabiegów? Tak po prostu adres z dhcp itd?

A i  jeszcze jedno - a jaką prędkość masz na komputerze normalnie?

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

93

Odp: Połączenie GSM w trybie NDIS

Poza ustawieniem adresu mac to wszystko. Normalnie korzystam z routera WNDR3700 z modułem cdc_ether i prędkości mam podobne. Do komputera muszę dopiero podłączyć modem i sprawdzić. Ale z tego co kiedyś testowałem to też było podobnie. Korzystam z sieci Orange (HSPA+ DC).

94

Odp: Połączenie GSM w trybie NDIS

A więc i tak więcej możesz nie uzyskać. No dobrze, to teraz E398 złap od kogoś. U mnie nikt nie ma hmm

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

95

Odp: Połączenie GSM w trybie NDIS

Cezary napisał/a:

A więc i tak więcej możesz nie uzyskać. No dobrze, to teraz E398 złap od kogoś. U mnie nikt nie ma hmm

Chętnie to przetestuję, ale potrzebowałbym obrazu dla WR1043ND.

Przy okazji, mój e398 od plusa przestał nawet pod win działać w trybie RAS (aplikacja CP ma opcję do wyboru) - kojarzycie co może być przyczyną?
z góry dzięki

p.
MT

96

Odp: Połączenie GSM w trybie NDIS

A nie wyłączyłeś ras w ustawieniach modemu?

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

97

Odp: Połączenie GSM w trybie NDIS

Cezary napisał/a:

A nie wyłączyłeś ras w ustawieniach modemu?

raczej nie - chyba że przez przypadek.
a jak i gdzie się to przestawia? ewentualnie jak to można sprawdzić?

mt

98

Odp: Połączenie GSM w trybie NDIS

AT^SETPORT=? i AT^SETPORT?

Do wykonania np. w putty czy innym hiperterminalu.

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

99

Odp: Połączenie GSM w trybie NDIS

Cezary napisał/a:

AT^SETPORT=?

Do wykonania np. w putty czy innym hiperterminalu.

sprawdziłem na innym kompie i po świeżej instalce programu od cp łączy się po RAS. Wynik 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


OK


Niestety pod Gargoyle (konf wyklikany) nie chce hulać:

Aug  7 00:19:26 Gargoyle daemon.debug pppd[14630]: Script USE_APN=internet /usr/sbin/chat -t5 -v -E -f /etc/chatscripts/3g.chat finished (pid 14735), status = 0x0
Aug  7 00:19:26 Gargoyle daemon.info pppd[14630]: Serial connection established.
Aug  7 00:19:26 Gargoyle daemon.debug pppd[14630]: using channel 143
Aug  7 00:19:26 Gargoyle daemon.info pppd[14630]: Using interface 3g-wan
Aug  7 00:19:26 Gargoyle daemon.notice pppd[14630]: Connect: 3g-wan <--> /dev/ttyUSB1
Aug  7 00:19:27 Gargoyle daemon.debug pppd[14630]: sent [LCP ConfReq id=0x7 <asyncmap 0x0> <magic 0xc2f9c3a0>]
Aug  7 00:19:27 Gargoyle daemon.debug pppd[14630]: rcvd [LCP ConfReq id=0x6 <asyncmap 0x0> <auth chap MD5> <magic 0x3129eb8> <pcomp> <accomp>]
Aug  7 00:19:27 Gargoyle daemon.debug pppd[14630]: No auth is possible
Aug  7 00:19:27 Gargoyle daemon.debug pppd[14630]: sent [LCP ConfRej id=0x6 <auth chap MD5> <pcomp> <accomp>]
Aug  7 00:19:27 Gargoyle daemon.debug pppd[14630]: rcvd [LCP ConfAck id=0x7 <asyncmap 0x0> <magic 0xc2f9c3a0>]
Aug  7 00:19:27 Gargoyle daemon.debug pppd[14630]: rcvd [LCP ConfReq id=0x7 <asyncmap 0x0> <magic 0x3129eb8>]
Aug  7 00:19:27 Gargoyle daemon.debug pppd[14630]: sent [LCP ConfAck id=0x7 <asyncmap 0x0> <magic 0x3129eb8>]
Aug  7 00:19:27 Gargoyle daemon.debug pppd[14630]: sent [LCP EchoReq id=0x0 magic=0xc2f9c3a0]
Aug  7 00:19:27 Gargoyle daemon.debug pppd[14630]: sent [IPCP ConfReq id=0x3 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
Aug  7 00:19:27 Gargoyle daemon.debug pppd[14630]: rcvd [LCP DiscReq id=0x8 magic=0x3129eb8]
Aug  7 00:19:27 Gargoyle daemon.debug pppd[14630]: rcvd [LCP EchoRep id=0x0 magic=0x3129eb8 c2 f9 c3 a0]
Aug  7 00:19:30 Gargoyle daemon.debug pppd[14630]: sent [IPCP ConfReq id=0x3 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
Aug  7 00:19:33 Gargoyle daemon.debug pppd[14630]: sent [IPCP ConfReq id=0x3 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
Aug  7 00:19:36 Gargoyle daemon.debug pppd[14630]: sent [IPCP ConfReq id=0x3 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
Aug  7 00:19:39 Gargoyle daemon.debug pppd[14630]: sent [IPCP ConfReq id=0x3 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
Aug  7 00:19:42 Gargoyle daemon.debug pppd[14630]: sent [IPCP ConfReq id=0x3 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
Aug  7 00:19:45 Gargoyle daemon.debug pppd[14630]: sent [IPCP ConfReq id=0x3 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
Aug  7 00:19:48 Gargoyle daemon.debug pppd[14630]: sent [IPCP ConfReq id=0x3 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
Aug  7 00:19:51 Gargoyle daemon.debug pppd[14630]: sent [IPCP ConfReq id=0x3 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]

100

Odp: Połączenie GSM w trybie NDIS

Jak widzisz łączy się bez problemu. Za to nie dostajesz od operatora ani adresu ip ani dnsów.

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