← Back to team overview

sony-vaio-z-series team mailing list archive

WWAN and gobi_loader issue

 

Dear all,

I decided to upgrade to kernel 2.6.32.2 in order to be able to build the new sony-laptop-zseries-0.9np5 module, hoping that it could solve my WWAN problem on a Sony Vaio VGN-Z41WD (the Qualcomm module does not show up when the lsusb command is issued, except the laptop is previously booted in Windows Vista and then booted without the acpi_osi="!Windows 2006" command line switch). I was very happy to see that with the new sony-laptop-zseries-0.9np5 module the Qualcomm WWAN module shows up when
lsusb is issued after a cold start, without need to boot in Windows first:

ptosco@pvaio ~$ /sbin/lsusb
Bus 008 Device 002: ID 044e:3017 Alps Electric Co., Ltd
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 002: ID 046d:c016 Logitech, Inc. M-UV69a/HP M-UV96 Optical Wheel Mouse
Bus 001 Device 004: ID 05c6:9221 Qualcomm, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 05ca:18b0 Ricoh Co., Ltd
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 147e:1000
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

I was even happier to see that the command

/lib/udev/gobi_loader  /dev/ttyUSB0  /lib/firware/gobi

effectively loads the firmware and then lsusb correctly lists a 05c6:9222 device. I had read in the docs that this should happen automatically at boot setting the /etc/udev/rules.d/60-gobi.rules gobi udev rules as follows:

# udev rules for firmware loading on qualcomm gobi devices

#ACTION=="add", SUBSYSTEM=="tty", KERNEL=="ttyUSB*", GOTO="gobi_rules"
ACTION=="", SUBSYSTEM=="tty", KERNEL=="ttyUSB*", GOTO="gobi_rules"

GOTO="gobi_rules_end"

LABEL="gobi_rules"
#ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9221", RUN+="/lib/udev/gobi_loader $env{DEVNAME} /lib/firmware/gobi" SYSFS{idVendor}=="05c6", SYSFS{idProduct}=="9221", RUN+="/lib/udev/gobi_loader $env{DEVNAME} /lib/firmware/gobi"
LABEL="gobi_rules_end"

but this was a minor issue; I added this line to /etc/rc.local and everything worked smoothly:

/lib/udev/gobi_loader  /dev/ttyUSB0  /lib/firware/gobi

However, then I switched to SPEED mode to re-build Nvidia drivers after upgrading the kernel; apparently this broke the WWAN stuff irreversibly, also after going back to STAMINA mode and booting into Windows several times to try to restore the module configuration (which keeps working under Windows). Now the command

/lib/udev/gobi_loader  /dev/ttyUSB0  /lib/firware/gobi

hangs indefinitely instead of loading the firmware. Adding some debug printout to gobi_loader.c I could see that it hangs while attempting to write the first 1024*1024 byte chunk of the amss.mbn firmware file to /dev/ttyUSB0. I reduced the size of the buffer to 1024 bytes, and I could see that it hangs after having written 53248 bytes (that is, 52 1024-byte chunks).

Help on this matter would be highly appreciated.

Cheers,
Paolo

--
================================================================
Paolo Tosco, Ph.D.                 Phone: +39 011 6707680
Dipartimento di Scienza            Fax:   +39 011 6707687
e Tecnologia del Farmaco           Mob:   +39 348 5537206
Via Pietro Giuria, 9
I-10125 Torino
Italy                              e-mail: paolo.tosco@xxxxxxxx
================================================================




Follow ups