3.2.0-32 drops Huawei EM680 (12d1:14f1) modem

Bug #1079359 reported by Paul Khusainov
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
ModemManager
Fix Released
Undecided
Unassigned
linux (Ubuntu)
Incomplete
Low
Unassigned
modemmanager (Ubuntu)
New
Undecided
Unassigned

Bug Description

I have Sony VAIO VPCSA 3X9R with internal Huawei modem. After update from 3.2.0-31-generic to 3.2.0-32-generic or 3.2.0-33-generic I found that modem is not work:
NetworkManager says me that no such device.

WORKAROUND: cat /etc/modprobe.d/blacklist-option.conf
blacklist option

# nmcli dev
DEVICE TYPE STATE
eth0 802-3-ethernet unavailable
wlan0 802-11-wireless connected
wmx0 802-3-ethernet unavailable
# nmcli con up id 'Beeline 3G modem'
(process:5970): GLib-WARNING **: (/build/buildd/glib2.0-2.32.3/./glib/gerror.c:390):g_error_new_valist: runtime check failed: (domain != 0)
Error: No suitable device found: no device found for connection 'Beeline 3G modem'.

On 3.2.0-32 lsusb gives me:
       Bus 001 Device 006: ID 12d1:14f1 Huawei Technologies Co., Ltd.

# dmesg | grep GSM
[ 4.577504] USB Serial support registered for GSM modem (1-port)
[ 4.577585] option 1-1.4:1.0: GSM modem (1-port) converter detected
[ 4.578163] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB0
[ 4.578177] option 1-1.4:1.1: GSM modem (1-port) converter detected
[ 4.578289] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB1
[ 4.578299] option 1-1.4:1.2: GSM modem (1-port) converter detected
[ 4.578362] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB2
[ 4.578371] option 1-1.4:1.3: GSM modem (1-port) converter detected
[ 4.578420] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB3
[ 4.578490] option: v0.7.2:USB Driver for GSM modems

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: linux-image-3.2.0-32-generic 3.2.0-32.51
ProcVersionSignature: Ubuntu 3.2.0-32.51-generic 3.2.30
Uname: Linux 3.2.0-32-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 2.0.1-0ubuntu15
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: PCH [HDA Intel PCH], device 0: ALC275 Analog [ALC275 Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: paul 3348 F.... pulseaudio
Card0.Amixer.info:
 Card hw:0 'PCH'/'HDA Intel PCH at 0xc7400000 irq 51'
   Mixer name : 'Intel CougarPoint HDMI'
   Components : 'HDA:10ec0275,104d5000,00100005 HDA:80862805,104d5000,00100000'
   Controls : 27
   Simple ctrls : 11
Date: Thu Nov 15 23:11:08 2012
InstallationMedia: Kubuntu 12.04.1 LTS "Precise Pangolin" - Release amd64 (20120820.1)
MachineType: Sony Corporation VPCSA3X9R
MarkForUpload: True
ProcEnviron:
 LANGUAGE=
 TERM=xterm
 PATH=(custom, user)
 LANG=ru_RU.UTF-8
 SHELL=/usr/bin/zsh
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-32-generic root=UUID=66707b0b-d16e-47bb-b403-88e283d8c6aa ro crashkernel=384M-2G:64M,2G-:128M quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.2.0-32-generic N/A
 linux-backports-modules-3.2.0-32-generic N/A
 linux-firmware 1.79.1
SourcePackage: linux
StagingDrivers: mei
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 11/23/2011
dmi.bios.vendor: INSYDE
dmi.bios.version: R2086H4
dmi.board.asset.tag: N/A
dmi.board.name: VAIO
dmi.board.vendor: Sony Corporation
dmi.board.version: N/A
dmi.chassis.asset.tag: N/A
dmi.chassis.type: 10
dmi.chassis.vendor: Sony Corporation
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnINSYDE:bvrR2086H4:bd11/23/2011:svnSonyCorporation:pnVPCSA3X9R:pvrC60A9HSG:rvnSonyCorporation:rnVAIO:rvrN/A:cvnSonyCorporation:ct10:cvrN/A:
dmi.product.name: VPCSA3X9R
dmi.product.version: C60A9HSG
dmi.sys.vendor: Sony Corporation

Revision history for this message
Paul Khusainov (alvelcom) wrote :
description: updated
Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Joseph Salisbury (jsalisbury) wrote : Re: 3.2.0-32 drops huawei modem

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.7 kernel[0] (Not a kernel in the daily directory) and install both the linux-image and linux-image-extra .deb packages.

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.7-rc5-raring/

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Revision history for this message
Paul Khusainov (alvelcom) wrote :

I've installed both linux-image and linux-image-extra. Problem seems to be still here.

[paul@paul-laptop] uname -a
Linux paul-laptop 3.7.0-030700rc5-generic #201211110835 SMP Sun Nov 11 13:35:49 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
[paul@paul-laptop] dmesg| grep GSM
[ 6.213730] usbserial: USB Serial support registered for GSM modem (1-port)
[ 6.213804] option 1-1.4:1.0: GSM modem (1-port) converter detected
[ 6.214198] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB0
[ 6.214216] option 1-1.4:1.1: GSM modem (1-port) converter detected
[ 6.214311] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB1
[ 6.214327] option 1-1.4:1.2: GSM modem (1-port) converter detected
[ 6.214422] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB2
[ 6.214437] option 1-1.4:1.3: GSM modem (1-port) converter detected
[ 6.214520] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB3

tags: added: kernel-bug-exists-upstream
tags: added: confirmed
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: removed: confirmed
Revision history for this message
Paul Khusainov (alvelcom) wrote :

Maybe it helps: on 3.2.0-31-generic modem detects as Qualcomm USB modem converter

# uname -a
Linux paul-laptop 3.2.0-31-generic #50-Ubuntu SMP Fri Sep 7 16:16:45 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

dmesg:
[ 4.545504] usb 1-1.4: Qualcomm USB modem converter now attached to ttyUSB0
[ 4.551110] usb 1-1.4: Qualcomm USB modem converter now attached to ttyUSB1
[ 4.554826] usb 1-1.4: Qualcomm USB modem converter now attached to ttyUSB2
[ 4.554861] usbcore: registered new interface driver qcserial

# nmcli dev
DEVICE TYPE STATE
ttyUSB1 gsm disconnected
eth0 802-3-ethernet unavailable
wlan0 802-11-wireless connected
wmx0 802-3-ethernet unavailable

Also see sudo lsusb -v -d 12d1:14f1 output in attach.

Thank you!

Revision history for this message
Stefan Heim (stefanheim01) wrote :

I have a Sony VAIO VPCSE1Z9E with the same internal Huawei 3G modem (12d1:14f1) and am also affected by this bug. The modem works with kernels <= 3.2.0-31 (qcserial driver) and doesn't work with any later 3.2.0 kernels (tried all up to -35).

The culprit is the "option" module claiming to support the device from 3.2.0-32 onwards, when it in fact doesn't (or at least not out-of-the-box currently).

I can successfully work around this bug by blacklisting the option module. In order to do that, create a file /etc/modprobe.conf/blacklist-option.conf with the single line

blacklist option

as its content. With that blacklist entry, after a reboot qcserial can sucessfully operate the device again.

I'm not sure how to resolve the bug though. Either we need to sort out how to operate the modem with option.ko, or the claim to support 12d1:14f1 should be dropped from it.

Revision history for this message
Paul Khusainov (alvelcom) wrote :

Sorry for my latency...

$ cat /etc/modprobe.d/blacklist-option.conf
blacklist option

$ uname -a
Linux paul-laptop 3.2.0-35-generic #55-Ubuntu SMP Wed Dec 5 17:42:16 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Now it operates normal, thanks!

Revision history for this message
Stefan Heim (stefanheim01) wrote :

I further investigated this bug. I can in fact use my internal USB 3G modem
12d1:14f1 (Huawei EM680) with both kernel modules, qcserial.ko and option.ko.

Usage with qcserial.ko was always working out-of-the-box (including support
through NetworkManager) on precise and before. Since
linux-image-3.2.0-32-generic, the option.ko module has to be blacklisted to
keep the modem working through qcserial.ko.

Usage with option.ko is nevertheless possible, if user space adapts and talks
to the device on /dev/ttyUSB2 instead of /dev/ttyUSB1. While qcserial does
create two serial devices, option favors creating three (/dev/ttyUSB[012])
instead.

In both cases, it is possible to identify the device as a GSM modem through the
last serial device using AT commands with the attached chat script
probe_modem.chat (from
https://wiki.ubuntu.com/NetworkManager/Hardware/3G/Probing):

# using qcserial.ko
$ chat -s -f ./probe_modem.chat > /dev/ttyUSB1 < /dev/ttyUSB1
chat: Dec 26 19:39:19 +GCAP: +CGSM,+DS,+ES
chat: Dec 26 19:39:19 +COPS: 0,0,"Telekom.de",2
chat: Dec 26 19:39:19 +CREG: 0,1

# using option.ko
$ sudo modprobe -r qcserial
$ sudo modprobe option
$ chat -s -f ./probe_modem.chat > /dev/ttyUSB2 < /dev/ttyUSB2
chat: Dec 26 19:39:42 +GCAP: +CGSM,+DS,+ES
chat: Dec 26 19:39:42 +COPS: 0,0,"Telekom.de",2
chat: Dec 26 19:39:42 +CREG: 0,1

Also, one can successfully establish a connection using wvdial with both
drivers, explicitly specifying the correct serial device in /etc/wvdial.conf in
a manual fashion.

Yet the device is only useable with NetworkManager (nmcli, applets) together
with qcserial.ko, since modem-manager does only seem to expose the modem on
d-bus if the qcserial driver is used. With option.ko, and therefore with
current Ubuntu 12.04 LTS / precise, the device is not working out-of-the-box
anymore, rendering this report a clear regression bug.

Whether the regression is at the fault of the kernel or the modem-manager
package is anyone's call. The kernel package did integrate an incompatible
default driver change for the device that supposedly got committed upstream,
while modem-manager should clearly be capable to find the device when operated
through option.ko as well as qcserial.ko.

Changed in modem-manager (Ubuntu):
status: New → Confirmed
no longer affects: modem-manager (Ubuntu)
Changed in modemmanager (Ubuntu):
status: New → Confirmed
summary: - 3.2.0-32 drops huawei modem
+ 3.2.0-32 drops Huawei EM680 (12d1:14f1) modem
Revision history for this message
Stefan Heim (stefanheim01) wrote :

modem-manager vs. qcserial.ko

Debug log of modem-manager when booting into linux.image-3.2.0-31-generic and before or after manually unloading option.ko and loading qcserial.ko on linux-image-3.2.0-32-generic and later.

Revision history for this message
Stefan Heim (stefanheim01) wrote :

modem-manager vs. option.ko

Debug log on linux-image-3.2.0-32 and later, using option.ko to support the modem.

Revision history for this message
Stefan Heim (stefanheim01) wrote :

Disregarding the time stamps, the first important different line between the two logs is

modem-manager[4156]: <debug> [1356470691.972650] [mm-modem-base.c:155] mm_modem_base_add_port(): (ttyUSB1) type primary claimed by /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4

for qcserial.ko, where probing is requested by the "Gobi" plugin of modem-manager according to the log.

With option.ko, the probing is requested by the "Huawei" plugin and it looks as if the correct serial port (/dev/ttyUSB2) was queried, but mm_modem_base_add_port() never gets called.

Revision history for this message
Stefan Heim (stefanheim01) wrote :

This bug is fixed upstream in modem-manager 0.6.0.

With

$ dpkg -l | grep modemmanager
ii modemmanager 0.6.0.0.really+git201212232256.1204-0~pkg164~precise1 D-Bus service for managing modems

from the PPA ppa:network-manager/trunk (see https://launchpad.net/~network-manager/+archive/trunk ), I can successfully establish a connection with nm-applet or nmcli *without blacklisting the option driver*, i.e. indeed using option.ko over qcserial.ko as favored by the kernel package since 3.2.0-32.

For precise / 12.04 LTS, one of the following two has to happen:

1. Remove the claim to support 12d1:14f1 introduced with 3.2.0-32 from the option.ko module. Trivial one line patch.

2. Cherry-pick whatever patch(es) make(s) modem-manager 0.6.0.0 work and backport them to modemmanager 0.5.2.0 in precise or make the full leap towards 0.6.0.0 in precise.

Can a maintainer please chime in and comment on a resolution of the problem?

Revision history for this message
Stefan Heim (stefanheim01) wrote :

Fixed in modemmanager upstream.

Changed in modemmanager (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Stefan, you marked the Ubuntu version as fixed, please set it back to confirmed. I added the upstream link here.

Changed in modemmanager:
status: New → Fix Committed
Revision history for this message
Stefan Heim (stefanheim01) wrote :

Unfortunately I don't have suffcient permissions to set the bug status back to Confirmed after accidentally setting it to Fix released.

Revision history for this message
penalvch (penalvch) wrote :
Changed in modemmanager:
status: Fix Committed → Fix Released
Changed in modemmanager (Ubuntu):
status: Fix Released → New
Revision history for this message
penalvch (penalvch) wrote :

Paul Khusainov, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please test for this with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ .

If it remains an issue, could you please just make a comment to this?

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
tags: added: bios-outdated-r2087h4
description: updated
Changed in linux (Ubuntu):
importance: Medium → Low
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.