site  contact  subhomenews

More work on modems

April 24, 2008 — BarryK
I succeeded with compiling the Intel 537 driver with the 2.6.25 kernel. A small hack was required.

For the 'agrsm' package, I have setup automatic detection in Puppy. The modules are agrmodem.ko and agrserial.ko, but 'modinfo agrserial' shows that there is no PCI IDs alias information stored in the module, so Puppy cannot automatically load the module. However, Puppy has a mechanism for special cases like this. In /etc/rc.d/MODULESCONFIG I added these two entries to the PCI_OVERRIDES variable:

agrserial 0x000011c1 0x0000048c #v4.00 nothing in modinfo. Agere chip.
agrserial 0x000011c1 0x0000048f #v4.00 nothing in modinfo. Agere chip.

These are the two chips that this driver supports. The driver module will now load at bootup.

I also created a "firmware" package for agrsm, at /lib/all-firmware/agrsm in the 'zdrv' file (that gets installed the first time agrserial.ko is loaded). This has a single script, /etc/init.d/agrsm, that executes at bootup and makes sure that /dev/modem points to the correct device.

So, if you have one of these modem chips, when you boot Puppy it should be autodetected and ready to go. When you launch PupDial it should show up already configured. This is theoretical, since I don't have one of these modems.

As I have fixed the PCI IDs alias information returned by 'modinfo pctel', I have now removed the nasty workaround that I had previously put into the boot scripts.
This affects /etc/rc.d/MODULESCONFIG and /etc/rc.d/rc.modules.

Note, I also compiled my fixed pctel drivers for the kernel.

cdcacm, mwave, pl2303, ALSA Smartlink
The 2.6.25 kernel also has these modem drivers, so all-up we have quite an impressive amount of "software modem" support. The really great thing is, in almost every case Puppy should auto-detect and auto-setup the modem.

Note: pl2303 (pl2303.ko) and cdcacm (cdc-acm.ko) are for USB modems.

NOTE to rerwin:
I have just remembered why I named the slmodem sript as 'zzslmodem'. I knew there had to be a reason, a very good reason! So that it executes last in /etc/init.d/



new kernel = new module version
Username: ferikenagy
"talking about newer modules for kernel 2.6.25, it is the same issue for wireless Broadcom BCM 4311 needs newer module ,old deprecated module "bcm43xx" & "ieee80211..." should be replaced with"b43" & "mac80211" newer modules. ( on main page:<b43 and b43legacy Broadcom drivers which replace the older bcm43xx driver. bcm43xx is now deprecated and will be removed in future kernel releases.>),newer module needs newer 4 version firmware too.

ch341=winchiphead serial/usb chipset
Username: mouldy
"The ch341 module is for the winchiphead chipset. A patch has been around forever since at least linux kernel 2.2.xx though originally it only covered the serial to usb cradle for serial Palmpilot. Since then this has become a popular chipset in many usb-serial applications and the module in 2.26.24 and newer linux is supposed to cover all these applications. If you search ch341, you get mostly announcements of support as of 2.26.24 and couple Ubuntu forum questions how to apply patch in earlier kernels. If you search winchiphead, you get Winchiphead Chinese factory site with manuals and driver links, mostly in Chinese. And bunch posts on various forums of windows users complaining about problems with drivers that came with their cable. Also get an ancient link to original person that developed the patch for the Palm Pilot cradle. The webpage for it is still there but kinda useless. Hasnt been updated for ages. I did couple googles as I post this. I cant find a particular modem that comes with this usb converter chipset from factory though there may well be some. It is definitely used in serial-usb converter cables, especially generic cheapies. I know, I have one and been waiting for newer kernel to try it as I couldnt even get it to work in windows with manufacturers driver. windows sees and installs it, lets me pick com port I want it to emulate, but cant see anything attached to it. Apparently I am not alone, though could just be a faulty cable. I also bought a cheapie pl2303 (Prolific chipset) converter cable and it works perfectly with pl2303 module. Am using it with dialup serial modem at the moment to post this.

still tricky
Username: franka
"I had one modem (SL modem) working in puppy. as of 4.3.1 agere D40 with agrmodem.ko or HSF modem in laptop on HD audio bus do not yet do it. agrmodem.ko loads, sets up its /dev but freezes upon dialing. The HSF modem reacts nicely to AT commands, but does not actually dial. Instead, nothing happens other than timing out as "BUSY". I'll do further research.

Analag modem feedback
Username: BarryK
"Please post any reports about problems with analog modems to the forum. Forum member 'rerwin' is the main guy who can help you. Some threads to look at: And for 3G modems:

Tags: puppy