system automatically reboot due to MC7430

Bjørn Mork bjorn at mork.no
Thu Sep 1 07:47:07 UTC 2016


dailijin <dailijin126 at 126.com> writes:

> Hi Bjorn,
>
>
> My device need to use 6 MC7430 modems and they can work normally  via libqmi. but if I  only plugin 3 SIM cards for 6 MC7430, then do live with 6M/2s. after run 30 minutes or more time, the system will automatically reboot. I captured the log as below。
>
>
> Aug 31 07:03:38 tvupack systemd[1]: ntpd.service: main process exited, code=exited, status=1/FAILURE
> Aug 31 07:03:38 tvupack systemd[1]: Unit ntpd.service entered failed state.
> Aug 31 07:03:42 tvupack perl[1487]: tvudial  : slotid: 5, using dev 0 -> cdc-wdm1 to dial MC7430
> Aug 31 07:03:42 tvupack perl[1487]: tvudial  : slotid: 5, using dev 0 -> wwan0 to dial MC7430, diaing net name: wwan0
> Aug 31 07:03:45 tvupack kernel: usb 1-1.6.2: USB disconnect, device number 109
> Aug 31 07:03:45 tvupack kernel: GobiSerial driver ttyUSB11: GobiSerial converter now disconnected from ttyUSB11
> Aug 31 07:03:45 tvupack kernel: GobiSerial 1-1.6.2:1.2: device disconnected
> Aug 31 07:03:45 tvupack kernel: GobiSerial driver ttyUSB12: GobiSerial converter now disconnected from ttyUSB12
> Aug 31 07:03:45 tvupack kernel: GobiSerial 1-1.6.2:1.3: device disconnected
> Aug 31 07:03:45 tvupack kernel: qmi_wwan 1-1.6.2:1.8 wwan10: unregister 'qmi_wwan' usb-0000:00:1d.0-1.6.2, WWAN/QMI device
> Aug 31 07:03:45 tvupack kernel: qmi_wwan 1-1.6.2:1.10 wwan11: unregister 'qmi_wwan' usb-0000:00:1d.0-1.6.2, WWAN/QMI device
> Aug 31 07:03:45 tvupack kernel: skbuff: skb_under_panic: text:ffffffff816a609d len:216 put:65 head:ffff880005a21e00 data:ffff880005a21dff tail:0xd7 end:0x640 dev:wwan2

Not sure how to interpret that.  The skb_under_panic() indicates that
something did skb_push() on an skb with too little headroom.  You can
see that we ended up with data < head.  We needed one byte more here.
Which could have been a qmi_wwan bug.  Except that the requested length
looks very odd.  I don't see the driver ever wanting to push as much as
65 bytes.  The only push it does is if it needs to add an ethernet
header, and it will only do that if there is headroom:

	if (skb_headroom(skb) < ETH_HLEN)
		return 0;
	skb_push(skb, ETH_HLEN);


And of course, ETH_HLEN is *not* 65.

Another strange thing is that this happened on "wwan2" at the exact same
time the modem with wwan10 and wwan11 was disconnected... That's weird.
I don't see the relationship, but I believe it's too unlikely to be a
conincidence..  Do you have any mysterious memory issues on this system?


> My customer don't reproduce this issue when use MC7330 instead of all
> MC7430. so I guess this maybe related to MC7430 modem.  Is there
> anyone report the similar issue to you? or could you give me
> investigation direction ?


That's even more unexpected, since the MC7430 must operate in raw-ip
mode and we won't do any skb_push at all. 

> My kernel version is 3.8, system is Gentoo


Which implies that you are running a modified driver.  That's of course
fine, but I'm afraid you are on your own then.  As far as I am
concerned, MC7430 is not supported on anything older than v4.5



Bjørn


More information about the libqmi-devel mailing list