Re: Huawei E3131 wwan interface, partial success?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Enrico Mioso <mrkiko.rs@xxxxxxxxx> writes:

> Hi all guys!
> I discovered osmething very funny, something I wasn't expecting.
> And when you'll read the story, for sure you will be in my same position! Let 
> me know.
>
> Relying on the immense knowledge and kindness of Bjorn and you all, I gathered 
> some infos about the device who made my life extremely interesting, and not 
> easy.
>
> so - what protocol do you think it's embedded over ncm?
> QMI?
> <whatever>?
> ... the protocol seems to be AT.
> Yes guys - AT! And I could never imagine it looking at the .c driver from 
> Huawei right now. Yes, I'm not extremely acute. But, let's go to the technical 
> thing: ndisdup works.

Ahhh! So when Aleksander wrote "supposed to support NDISDUP through the
NCM port with endpoint 0" he really meant NDISDUP through endpoint 0...

Great work! This is encouraging.  Now we know that the protocol is
supportable, and we can even most likely reuse some existing userspace
support once we have the driver parts in place.

>
> 1 - Detecting connection
>   I could not look at device leds, so I brought an AM radio near it.

That's a smart buzzer solution :)

>  when I give the ndisdup commad on the standard serial ports, nothing
>  happen.
>
> 2 - Connecting to the network
>   To connect to the network you use the normal ndisdup command over WDM.
>
> At least in my case, the firmware became unstable, extremely unstable, after 
> some minutes. The normal serial ports, and the at^statqry commands are not 
> aware of what's happening, but the connection is activve. to confirm this, I 
> can say that the modem emits
> ndis^stats:...
> unsolicited messages, and becomes hot after a while.
>
> Here is what happens: echo is never activated on this at port, even with ATE1 
> command.

That's similar to the E367 MBIM firmware, which also has an embedded AT
command channel.

> Script started on Mon Jul  1 17:08:31 2013
> KDGKBLED: Inappropriate ioctl for device ## don't worry, caused by setled
> Error reading current flags setting. Maybe you are not on the console?
> mrkiko@eeeadesso:/tmp$ sudo modprobe -r cdc_ncm
> mrkiko@eeeadesso:/tmp$ sudo modprobe -f cdj
> mrkiko@eeeadesso:/tmp$ sudo dmesg | tail
> [  949.084335] usbcore: deregistering interface driver cdc_ncm
> [  949.084405] cdc_ncm 3-2:1.1 wwan0: unregister 'cdc_ncm' usb-0000:00:1d.7-2, Mobile Broadband Network Device
> [  975.807854] mii: module_layout: kernel tainted.
> [  975.807873] Disabling lock debugging due to kernel taint
> [  975.824301] usb 3-2: MAC-Address: ...not reporting
> [  975.828761] cdc_ncm 3-2:1.1: cdc-wdm0: USB WDM device
> [  975.829481] cdc_ncm 3-2:1.1 wwan0: register 'cdc_ncm' at usb-0000:00:1d.7-2, Mobile Broadband Network Device, not reporting
> [  975.829616] usbcore: registered new interface driver cdc_ncm
>
> And then, minicom
> mrkiko@eeeadesso:/tmp$ sudo minicom -D /dev/cdc-wdm0
[..]

> ^RSSI: 22
>
> ^MODE: 5,4
>
> ^RSSI: 8
> <I wrote at+csq>
>
>
> +CSQ: 8,99
>
> OK
> <I wrote at^ndisdup=1,1,"web.coopvoce.it">
> OK
>
> ^NDISSTAT:0,33,,"IPV4"
> <It failed because of network low coverage; I retrired.>.
> OK
> <Same story, I retried>
> ^NDISSTAT:0,33,,"IPV4"
> <Same Story, tried again>
> OK
>
> ^NDISSTAT:1,,,"IPV4"
>
> ^DSFLOWRPT:00000002,00000000,00000000,0000000000000000,0000000000000000,00000000,00000000

Nice.  You are certainly connected here.
[..]

> [ 1587.967595] cdc_ncm 3-2:1.1: unknown notification 42 received: index 1 len 8

OK, so that's unknown to cdc-wdm which is now handling all
notifications.  cdc-wdm logs the number as decimal, so that's most
likely a proper (and expected for NCM) USB_CDC_NOTIFY_SPEED_CHANGE.

We should probably handle that if we're going this route.  Which means
that the cdc-wdm subdriver interface needs a small extension.

> that said - I'm not able to bring up the wwan0 interface right now, but I think 
> it's a problem with the drivers itself.
>
> From here on - I need help...

Note that cdc_ncm by default requires a link up notification, and you've
effectively filtered that out.  Could the problem be that simple?  If
you haven't already, then remove the

	usbnet_link_change(dev, 0, 0);

from your cdc_ncm_bind().




Bjørn
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux