Spróbowałem i kompilacja się powiodła na CC r47662 (modem E3372, tryb ncm). Jest jednak mały problem nie do przeskoczenia w gui - nie można zmusić go by nie wpisywał w ogóle "option mode ***", bo wtedy:
Sun Nov 29 20:47:53 2015 daemon.notice netifd: Interface 'wan2' is setting up now
Sun Nov 29 20:47:56 2015 daemon.notice netifd: wan2 (6843): sending -> AT
Sun Nov 29 20:47:56 2015 daemon.notice netifd: wan2 (6843): sending -> ATZ
Sun Nov 29 20:47:57 2015 daemon.notice netifd: wan2 (6843): sending -> ATQ0
Sun Nov 29 20:47:58 2015 daemon.notice netifd: wan2 (6843): sending -> ATV1
Sun Nov 29 20:47:58 2015 daemon.notice netifd: wan2 (6843): sending -> ATE1
Sun Nov 29 20:47:59 2015 daemon.notice netifd: wan2 (6843): sending -> ATS0=0
Sun Nov 29 20:48:00 2015 daemon.notice netifd: wan2 (6843): SIM ready
Sun Nov 29 20:48:00 2015 daemon.notice netifd: wan2 (6843): PIN set successfully
Sun Nov 29 20:48:01 2015 daemon.notice netifd: wan2 (6843): sending -> AT^SYSCFGEX=\"00\",3fffffff,2,4,7fffffffffffffff,,
Sun Nov 29 20:48:02 2015 daemon.notice netifd: wan2 (6843): Error running AT-command
Sun Nov 29 20:48:02 2015 daemon.notice netifd: wan2 (6843): Failed to set operating mode
Sun Nov 29 20:48:02 2015 daemon.notice netifd: wan2 (6873): Stopping network
Sun Nov 29 20:48:04 2015 daemon.notice netifd: wan2 (6873): sending -> AT^NDISDUP=1,0
Sun Nov 29 20:48:04 2015 daemon.notice netifd: wan2 (6873): Command failed: Permission denied
Sun Nov 29 20:48:04 2015 daemon.notice netifd: Interface 'wan2' is now down
Sun Nov 29 20:48:04 2015 daemon.notice netifd: Interface 'wan2' is setting up now
Sun Nov 29 20:48:22 2015 daemon.notice netifd: wan2 (6888): timeout checking for PIN.Unable to verify PIN
Sun Nov 29 20:48:23 2015 daemon.notice netifd: wan2 (6919): Stopping network
Sun Nov 29 20:48:25 2015 daemon.notice netifd: wan2 (6919): sending ->
Sun Nov 29 20:48:27 2015 daemon.notice netifd: Interface 'wan2' is now down
Jak nie ma tego zdarzenia za każdym razem przy próbie połączenia:
Sun Nov 29 20:48:01 2015 daemon.notice netifd: wan2 (6843): sending -> AT^SYSCFGEX=\"00\",3fffffff,2,4,7fffffffffffffff,,
to działa.
Oto wygenerowana konfiguracja interfejsu:
config interface 'wan2'
option proto 'ncm'
option device '/dev/cdc-wdm0'
option apn 'vpn'
option pincode '1234'
option username 'vpn'
option password 'vpn'
option mode 'auto'
option metric '0'
Podawanie innych option mode nic nie daje - ten sam efekt.
Po prostu dla mojego modemu w ogóle nie może być tej linijki "option mode ***" w konfiguracji - wtedy działa.
"/etc/init.d/network restart", czy "ifup wan2" za kolejnym razem daje zawsze ten sam fragment w logach:
Sun Nov 29 20:58:30 2015 daemon.notice netifd: wan2 (7924): timeout checking for PIN.Unable to verify PIN
Sun Nov 29 20:58:30 2015 daemon.notice netifd: wan2 (8292): Stopping network
Sun Nov 29 20:58:32 2015 daemon.notice netifd: wan2 (8292): sending ->
Sun Nov 29 20:58:35 2015 daemon.notice netifd: Interface 'wan2' is now down
Użycie w tym wypadku usbreset nic nie daje (czy wyjęcie/włożenie modemu) bo i tak za każdym razem chce zapodawać option mode, które niweczy połączenie.
Gdyby ten plugin miał jakoś odhaczone/wyłączone podawanie tej opcji w konfiguracji interfejsu wszystko by raczej działało, pomijając typowe problemy dla E3372, że potrafi się za którymś razem zawiesić, czy inne cuda wianki.
A tak zadziałało połączenie po niezbędnym w tym przypadku usbreset, gdy zahaszowałem ręcznie "option mode" (metric jest nieistotny bo i tak go pomija, jak nie ma dorobionej obsługi, czy peerdns) w konfiguracji interfejsu wan2:
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.100000] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.110000] option 1-1:1.0: device disconnected
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.120000] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.120000] option 1-1:1.1: device disconnected
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.130000] huawei_cdc_ncm 1-1:1.2 wwan0: unregister 'huawei_cdc_ncm' usb-ehci-platform-1, Huawei CDC NCM device
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.280000] usb 1-1: reset high-speed USB device number 4 using ehci-platform
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.430000] option 1-1:1.0: GSM modem (1-port) converter detected
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.430000] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.440000] option 1-1:1.1: GSM modem (1-port) converter detected
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.450000] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.470000] huawei_cdc_ncm 1-1:1.2: MAC-Address: 00:1e:10:1f:00:00
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.470000] huawei_cdc_ncm 1-1:1.2: setting rx_max = 16384
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.490000] huawei_cdc_ncm 1-1:1.2: NDP will be placed at end of frame for this device.
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.490000] huawei_cdc_ncm 1-1:1.2: cdc-wdm0: USB WDM device
Sun Nov 29 21:08:19 2015 kern.info kernel: [ 2952.500000] huawei_cdc_ncm 1-1:1.2 wwan0: register 'huawei_cdc_ncm' at usb-ehci-platform-1, Huawei CDC NCM device, 00:1e:10:1f:00:00
Sun Nov 29 21:08:31 2015 daemon.notice netifd: Interface 'wan2' is setting up now
Sun Nov 29 21:08:34 2015 daemon.notice netifd: wan2 (8997): sending -> AT
Sun Nov 29 21:08:34 2015 daemon.notice netifd: wan2 (8997): sending -> ATZ
Sun Nov 29 21:08:35 2015 daemon.notice netifd: wan2 (8997): sending -> ATQ0
Sun Nov 29 21:08:35 2015 daemon.notice netifd: wan2 (8997): sending -> ATV1
Sun Nov 29 21:08:36 2015 daemon.notice netifd: wan2 (8997): sending -> ATE1
Sun Nov 29 21:08:37 2015 daemon.notice netifd: wan2 (8997): sending -> ATS0=0
Sun Nov 29 21:08:38 2015 daemon.notice netifd: wan2 (8997): SIM ready
Sun Nov 29 21:08:38 2015 daemon.notice netifd: wan2 (8997): PIN set successfully
Sun Nov 29 21:08:39 2015 daemon.notice netifd: wan2 (8997): sending -> AT^NDISDUP=1,1,"vpn","vpn","vpn"
Sun Nov 29 21:08:39 2015 daemon.notice netifd: wan2 (8997): Connected, starting DHCP
Sun Nov 29 21:08:39 2015 daemon.notice netifd: Interface 'wan2' is now up
Sun Nov 29 21:08:39 2015 kern.err kernel: [ 2972.670000] huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been dropped
Sun Nov 29 21:08:39 2015 daemon.notice netifd: Network device 'wwan0' link is up
Sun Nov 29 21:08:39 2015 daemon.notice netifd: Network alias 'wwan0' link is up
Sun Nov 29 21:08:39 2015 daemon.notice netifd: Interface 'wan2_4' is enabled
Sun Nov 29 21:08:39 2015 daemon.notice netifd: Interface 'wan2_4' has link connectivity
Sun Nov 29 21:08:39 2015 daemon.notice netifd: Interface 'wan2_4' is setting up now
Sun Nov 29 21:08:39 2015 daemon.notice netifd: wan2 (8997): Command failed: Unknown error
Sun Nov 29 21:08:39 2015 daemon.notice netifd: Interface 'wan2_6' is enabled
Sun Nov 29 21:08:39 2015 daemon.notice netifd: Interface 'wan2_6' has link connectivity
Sun Nov 29 21:08:39 2015 daemon.notice netifd: Interface 'wan2_6' is setting up now
Sun Nov 29 21:08:39 2015 daemon.notice netifd: wan2 (8997): Command failed: Unknown error
Sun Nov 29 21:08:40 2015 daemon.notice netifd: wan2_4 (9056): udhcpc (v1.23.2) started
Sun Nov 29 21:08:40 2015 daemon.notice netifd: wan2_4 (9056): Sending discover...
Sun Nov 29 21:08:40 2015 user.notice firewall: Reloading firewall due to ifup of wan2 (wwan0)
Sun Nov 29 21:08:43 2015 daemon.notice netifd: wan2_4 (9056): Sending discover...
Sun Nov 29 21:08:43 2015 daemon.notice netifd: wan2_4 (9056): Sending select for 37.228.12.145...
Sun Nov 29 21:08:43 2015 daemon.notice netifd: wan2_4 (9056): Lease of 37.228.12.145 obtained, lease time 518400
Sun Nov 29 21:08:43 2015 daemon.notice netifd: Interface 'wan2_4' is now up
Sun Nov 29 21:08:43 2015 daemon.info dnsmasq[2036]: reading /tmp/resolv.conf.auto
Sun Nov 29 21:08:43 2015 daemon.info dnsmasq[2036]: using local addresses only for domain lan
Sun Nov 29 21:08:43 2015 daemon.info dnsmasq[2036]: using nameserver 62.179.1.60#53
Sun Nov 29 21:08:43 2015 daemon.info dnsmasq[2036]: using nameserver 62.179.1.61#53
Sun Nov 29 21:08:43 2015 daemon.info dnsmasq[2036]: using nameserver 194.204.159.1#53
Sun Nov 29 21:08:43 2015 daemon.info dnsmasq[2036]: using nameserver 194.204.152.34#53
root@OpenWrt:~#
Od razu dodam, że skonfigurowanie "option device" jako "/dev/ttyUSB0" nic nie zmienia odnośnie problemu z "option mode".