Thread (1 message) 1 message, 1 author, 2014-03-14

Re: [PATCH net-next v6 0/3] The huawei_cdc_ncm driver / E3276 problem

From: Pasi Kärkkäinen <hidden>
Date: 2014-03-14 17:33:36

On Fri, Mar 14, 2014 at 12:16:55PM -0500, Dan Williams wrote:
On Fri, 2014-03-14 at 16:25 +0200, Pasi Kärkkäinen wrote:
quoted
On Fri, Mar 14, 2014 at 02:33:36PM +0100, Bjørn Mork wrote:
quoted
Pasi Kärkkäinen [off-list ref] writes:
quoted
On Fri, Mar 14, 2014 at 10:24:51AM +0100, Bjørn Mork wrote:
quoted
Pasi Kärkkäinen [off-list ref] writes:
quoted
# ifconfig wwp0s26u1u5i1
wwp0s26u1u5i1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.8.219.204  netmask 255.255.255.248  broadcast 10.8.219.207
        inet6 fe80::e5b:8fff:fe27:9a64  prefixlen 64  scopeid 0x20<link>
        ether 0c:5b:8f:27:9a:64  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 1493  dropped 0  overruns 0  frame 0

Note the RX errors.. ? 

Yes, that is not expected and is quite possibly hiding the explanation.
Ok, good to know.
quoted
Could you do a usbmon dump to try to capture the contents of the USB
buffers we drop here?  See
https://www.kernel.org/doc/Documentation/usb/usbmon.txt

Note that the text interface may truncate the buffers too early for the
result to be useful.  wireshark/thsark will for example allow you to
capture the whole buffer (when snooping on the "usbmonX" interface - not
the netdev!)
I'll try that.. 
quoted
We also have a few debug messages in the driver for different types of
errors we drop.  Turning on those might explain something (assuming you
have DYNAMIC_DEBUG enabled):

  ethtool -s wwp0s26u1u5i1 msglvl rx_err on

Note that these will be logged at "debug" level, so you need to turn on
logging/showing such messages as well.
# uname -a
Linux localhost.localdomain 3.13.6-200.fc20.x86_64 #1 SMP Fri Mar 7 17:02:28 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

# grep -i DYNAMIC_DEBUG /boot/config-3.13.6-200.fc20.x86_64
CONFIG_DYNAMIC_DEBUG=y

# echo 8 > /proc/sys/kernel/printk
# cat /proc/sys/kernel/printk
8       4       1       7

# ethtool -s wwp0s26u1u5i1 msglvl rx_err on

Is that enough?
I believe so, but I don't feel too steady on all the dynamic-ness here.
quoted
I don't see any errors logged in "dmesg" output,
but the RX errors counters do keep increasing in ifconfig output.. 
OK, let's see if we can figure it out based on the usbmon data.
http://pasik.reaktio.net/huawei-e3276-usbmon3.pcapng

(I did move the dongle to a different usb bus nr 3 to make it the only device on that bus before capturing..) 

So what I did:

- Start wireshark capture on USB bus nr 3.
- Plug in the Huawei E3276 dongle.
- Wait for usb_modeswitch to happen.
- Use minicom to talk to /dev/cdc-wdm0 and send AT commands to connect to Internet:
	- ATQ0 V1 E1 S0=0
	- AT^NDISDUP=1,1,"internet"
Are you sure the device has actually registered with the network at the
point you do the NDISDUP?  At this point what do you get for "AT+CREG?"
and "AT+CFUN?" ?
When capturing the USB traffic I did get the ^NDISSTAT:1,,,"IPV4" notification and the AT^DHCP? 
command showed the IP address and other info so I *assume* it was properly connected.. 
also the LED on the dongle showed it's connected..

So now a fresh start.. Before running NDISDUP I send AT+CREG? and I get this reply:

+CREG: 0,1

Then I send AT+CFUN? and get this reply:

+CFUN: 1

Then I send AT^NDISDUP=1,1,"internet" and get:

OK
^RSSI: 7
^NDISSTAT:1,,,"IPV4"

Then I send AT^DHCP? and get:

^DHCP: 4A503D0A,FCFFFFFF,49503D0A,49503D0A,E67B59C0,E77B59C0,85600,85600
OK


Does that look OK? 

Thanks,

-- Pasi

Dan
quoted
- After the dongle has connected query for DHCP status:
	- AT^DHCP?

- Launch dhcp client (dhclient) on wwp0s20u1i1 interface.
- Wait for a while and see RX error counters increasing on ifconfig output.
- Cancel (ctrl+c) the dhclient.
- Stop wireshark capture. 


Does that capture file show anything interesting to you? 
quoted

Bjørn

Thanks,

-- Pasi

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help