More work on modems

537
I succeeded with compiling the Intel 537 driver with the 2.6.25 kernel. A small hack was required.

agrsm
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.

pctel
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 2.6.21.7 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/
A Smartlink modem should only be chosen if there is no alternative driver found.

Posted on 24 Apr 2008, 20:31


Comments:

Posted on 24 Apr 2008, 21:41 by mouldy
ch341.ko
Just checking you will have ch341.ko in 2.6.25 version of Puppy. Its yet another chipset used in serial to usb coversion cables just like pl2303. It supposedly started being included in linux kernel with 2.6.24. I havent yet tried any distribution with that new of a kernel so cant say. Prior to that, it required an iffy kernel patch.


Posted on 25 Apr 2008, 7:06 by BarryK
Re: ch341.ko
Yes, ch341.ko is there. Can this be used as a modem driver also? Do you have any links to further info on this?


Posted on 25 Apr 2008, 13:19 by ferikenagy
new kernel = new module version
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 http://linuxwireless.org/ 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.


Posted on 25 Apr 2008, 21:56 by mouldy
ch341=winchiphead serial/usb chipset
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.



Posted on 22 Dec 2009, 4:15 by franka
still tricky
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.


Posted on 22 Dec 2009, 7:32 by BarryK
Analag modem feedback
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:
http://murga-linux.com/puppy/viewtopic.php?t=47563
http://murga-linux.com/puppy/viewtopic.php?t=46613
http://murga-linux.com/puppy/viewtopic.php?t=14663
http://murga-linux.com/puppy/viewtopic.php?t=47757
http://murga-linux.com/puppy/viewtopic.php?t=49556
http://murga-linux.com/puppy/viewtopic.php?t=46273
http://murga-linux.com/puppy/viewtopic.php?t=42873
http://murga-linux.com/puppy/viewtopic.php?t=44376
http://murga-linux.com/puppy/viewtopic.php?t=44690
http://murga-linux.com/puppy/viewtopic.php?t=44201
http://murga-linux.com/puppy/viewtopic.php?t=43884
http://murga-linux.com/puppy/viewtopic.php?t=41351
http://murga-linux.com/puppy/viewtopic.php?t=35504
http://murga-linux.com/puppy/viewtopic.php?t=23512

And for 3G modems:
http://murga-linux.com/puppy/viewtopic.php?t=37828