site  contact  subhomenews

3G addition to PupDial

April 29, 2009 — BarryK
Rerwin has been very helpful working with guys who have 3G modems. His work is in this forum thread:

http://murga-linux.com/puppy/viewtopic.php?t=37828

I would like to start putting this into Woof. I have read through the thread, but not really studied it in depth. It seems that some of it is workarounds for the limitations of the 2.6.25 kernel. As I am now using the 2.6.29 kernel these workarounds may not be needed.

Okay, I am getting these files from rerwin's PET packages uploaded to the forum on 8th April.

linux_kernel-2.6.29.1-ticks_uniproc-1.pet
I have placed these into /usr/lib/modules/all-firmware:
cdcacm.tar.gz
hso.tar.gz
nozomi.tar.gz
option.tar.gz
sierra.tar.gz
usbserial.tar.gz


...only cdcacm.tar.gz is overwriting an older file.

I have appended the following onto file /etc/modules/firmware.dep.2.6.29.1:
#wireless usb modem drivers...
hso:hso.ko
nozomi:nozomi.ko
option:option.ko
sierra:sierra.ko
usbserial:usbserial.ko


...this file is read by /bin/pup_event_backend_modprobe (a udev rule in /etc/udev/rules.d/50-udev-puppy-basic.rules causes this script to run when a module is loaded) and the appropriate firmware tarball gets installed.

woof/rootfs-skeleton/
This is the filesystem skeleton which forms the basis of all puppies built in Woof.

These files are upgraded in /usr/sbin:
modemprobe
modemprobe_erase
modemtest
pupdial

...I notice that line 16 in modemprobe:
MODEMMODS="`lsmod | grep -E '^agrserial |^cdc_acm |^esscom |^Intel536 |^Intel537 |^ltserial |^martian_dev |^mwave |^pctel |^pl2303 |^slamr |^slusb |^snd_via82xx_modem |^snd_atiixp_modem |^snd_intel8x0m |^snd_hda_intel |^dgcusbdcp' | cut -f 1 -d ' '`"
was inserted in the previous patch provided by rerwin, now it is removed.

...another little problem with modemprobe. My version in Woof is slightly different from the one rerwin is working on. The problem is that pup 412 uses an old version of 'lspci' with a diferent output format. All distros including Woof builds use the later lspci, and this line in modemprobe has to be changed:
#VENDEVS="$VENDEVS`lspci | cut -f 4 -d ' '`"
VENDEVS="$VENDEVS`lspci -n | cut -f 3 -d ' '`" #w003


Special mode-switching stuff for USB modems that can be switched between either storage device or modem:
/etc/usb_modeswitch.conf
And in /etc/udev/rules.d directory:
51-usb_modemswitch-option-0x05c6-0x1000.rules
51-usb_modemswitch-option-0x1e0e-0xf000.rules
51-usb_modemswitch-option-Novatel-0x1410-0x5010.rules
51-usb_modemswitch-option-ZTE-Onda-0x19d2-0x2000.rules
51-usb_modeswitch-option.rules
90-udev-rule-trace.rules


I left out these two, that seem to be only for the 2.6.25 kernel:
51-udev-k2.6.25-experimental.rules
51-udev-k2.6.25-Huawei_E169-workaround.rules


...these new rules join an earlier file submitted by rerwin, '60-udev-modem.rules'.

usb_modeswitch-0.9.6.pet
This is a binary executable:
/usr/sbin/usb_modeswitch

Tags: woof