Thinkpad 600E modem and Linux

Message
Author
User avatar
vtpup
Posts: 1420
Joined: Thu 16 Oct 2008, 01:42
Location: Republic of Vermont
Contact:

#31 Post by vtpup »

Fromthe other thread, Rerwin wrote:
vtpup,
Thanks for trying the mwave dotpet. I did not understand that it takes so much customizing to get it to work. But I can explain why you don't see anything happening.

With Puppy 4.1 the module loading technique changed so that simply using modprobe does not activate the firmware that does some of the magic. But there is a way to overcome that. Use the BootManager to force loading of mwaved with all its parameters. That will trigger the modem init script, which should handle the rest -- I think. (If it doesn't, we could make it so.)
Richard

EDIT: I read this last post first, then noticed your previous ones. So I may be addressing the wrong problem.

But first, I think we should go back to your other thread so that we don't hijack this one, which is for offering fixes. Could you move this dialog back there and reduce the size of your above posts? I think everyone would appreciate that.

Anyway, once you reboot after installing the dotpet, mwaved should get loaded automatically. We need to get that far first, maybe without your mods to the BIOS, considering that you have upgraded it. But I yield to your knowledge on that.

A-hah! The driver is not loading because of another change in module loading for 4.1. But I have made a dotpet to correct that, earlier in this thread, here:
http://www.murga-linux.com/puppy/viewto ... 797#266797
Richard
Sorry,no go.

There was an error expanding package modem%2Bcardbus_fix-4.1.3.tar.gz.
Either the file is corrupted, or has not expanded into its own directory with
name of modem%2Bcardbus_fix-4.1.3/ (which is how most packages expand).
You will have to go into /root/.packages/ directory and manually clean it up.

This script will now exit...

User avatar
vtpup
Posts: 1420
Joined: Thu 16 Oct 2008, 01:42
Location: Republic of Vermont
Contact:

#32 Post by vtpup »

I feel like I'm spinning my wheels here, rerwin. I've put about 6 hours into testing this thing, and I'm trying to guess what you want me to do, and what changes have been made to 4.1 that I don't know about or don't understand, Obviously there's a procedure required to get this thing to work.

I'm happy to test this even though I don't use the modem anymore, but I ask that you provide me with exact test steps to follow on a Thinkpad 600E,

It seems that at least two dotpets have to be loaded and possibly the Bootmanager needs modules loaded and parameters passed, according to your prior post.

Rather than guess at the order of loading, whether I need to somehow manually clean out the last failed dotpet, or start with a fresh install, please let me know in a numbered step process exactly what test steps you want, and I'll do exactly that. We'll get a lot more accomplished that way in a lot less time.

Thanks!

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#33 Post by tempestuous »

vtpup wrote:There was an error expanding package modem%2Bcardbus_fix-4.1.3.tar.gz.
rerwin,
the "+" in the name of the dotpet is messing things up. You need to recreate the dotpet with a different name.

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

#34 Post by rerwin »

vtpup,
Sorry for the jerk-arounds. But all is not lost. It struck me this morning that the modem dotpet works only on the standard kernel, due to the big changes. So, don't try to use it in the retro -- but no harm done since it failed anyway. The fix is easier than that. The retro puppys still uses the /etc/rc.d/MODULESCONFIG file to cause loading of mwave (and the other modems in the dotpet). Puppy 4.1 and 4.1.1 contain the necessary lines in MODULESCONFIG. (I had them removed from 4.1.2 because the standard no longer needs them, but I did not consider the retro version.)

So you are OK where you are with the mwave dotpet, but need only to add the following line between lines 10 an 11 of /etc/rc./MODULESCONFIG:

Code: Select all

mwave 0x00001014 0x0000007d #not in modinfo.
I have edited my bug-fix posting to mention this.

And thanks (and to tempestuous) for alerting me to the modem-fix dotpet. I will fix that immediately.
Richard

User avatar
vtpup
Posts: 1420
Joined: Thu 16 Oct 2008, 01:42
Location: Republic of Vermont
Contact:

#35 Post by vtpup »

Line 11, if you are counting blank lines, and expand Geany out not to linewrap has a single apostrophe in it at present. Don't quite understand the function of that, but anyway, look:

Code: Select all

#unlike BOOTCONFIG and PUPSTATE that are auto-generated by Puppy,
#MODULESCONFIG was manually created and can be edited.
#MODULESCONFIG is inserted into /sbin/pup_event_backend_d and pup_event_backend_modprobe.
#MODULESCONFIG is read/written by the BootManager (System menu).

#Please use underscore '_' in all module names, not '-'.

#PCI_OVERRIDES: if no match, or multiple matches, may need manual override...
#put one entry on each line...
PCI_OVERRIDES='dmfe 0x00001282 0x00009102 #r_hughes reports tulip module not work.
'

#SKIPLIST: may need to simply skip some modules...
#v2.15 suddenly occurred to me, what if oss and alsa sound modules both load?  (snip)
So do you want me to open a new line just before the apostrophe and put mwave 0x00001014 0x0000007d #not in modinfo. there?

(Suggestion, instead of counting lines in software user instructions, copy the appropriate section of the un-numbered script and show a before and after.)

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

#36 Post by rerwin »

vtpup,
Yes, you concluded correctly. I just assumed that everyone knows how to make geany display line numbers (View > Show Line Numbers). Or maybe you are not using geany. Anyway, you may want to wait a bit.

I have been fixing the modem-fix dotpet beyond just getting rid of the "+" in its name. I am making it support the retro puppys, too. However, I have discovered an old bug that may impact you. I think I have solved it for the standard kernel, but need to also fix the script for the retro pups. To keep things simple, I will tell you the file and line to edit, but will hold off until I verify it on a retro installation. The symptom was that the driver (actually just the init script, for mwave - a special case) still doesn't load. (I test with an Intel modem that needs the same override logic that mwave gets.)

Because I expect to be distracted until Tuesday afternoon, please be patient.
Thanks.
Richard

User avatar
vtpup
Posts: 1420
Joined: Thu 16 Oct 2008, 01:42
Location: Republic of Vermont
Contact:

#37 Post by vtpup »

No problem. I don't use the modem anyway -- I'm just doing this to help out.

I've also got this going on a frugal install playground, so it isn't impacting my main install.

Thanks for your work.

ottershaw
Posts: 4
Joined: Sat 07 Apr 2007, 16:55

Thinkpad 600E modem and Linux

#38 Post by ottershaw »

There are at least 3 other people (besides myself) that are waiting for modem support for Thinkpad (600 & 600E) wave modems to be fixed in puppy.

I really hope you guys succeed. Please let me know when you need help testing your next attempt.

Gordon

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

#39 Post by rerwin »

vtpup and ottershaw,
Thanks for continuing your interest. I have good news! I was worried about nothing. The modem-controller dotpet works just fine with the 4.1.2 retro kernel. You can use the version already posted, even though it downloads as modem%2Bcardbus_fix-4.1.3.tar.gz. Just edit the name to replace "%2B" with "+", then click on it to install.

The dotpet installer expects the .pet to have the same name as the top directory within it. And that directory is modem+cardbus_fix-4.1.3. Give it a try at your leisure. I will be out of action, as mentioned above, but eager to hear how far you get without fiddling (except perhaps for your BIOS)..

BTW: The modem-controller fix will work only on 4.1.2 until I update it. This exercise yielded a bug fix for two scripts. I erroneously assumed the a retro puppy also used the puppy-lite version of uevent handling, but apparently not. Maybe the non-udev alternative is obsolete, so need not be fixed. Or I can fix it but not test it, although it is exactly the same code change for both.
Richard

User avatar
vtpup
Posts: 1420
Joined: Thu 16 Oct 2008, 01:42
Location: Republic of Vermont
Contact:

#40 Post by vtpup »

You can use the version already posted, even though it downloads as modem%2Bcardbus_fix-4.1.3.tar.gz. Just edit the name to replace "%2B" with "+", then click on it to install.
Nope. Throws the same error message -- only difference is that it uses the new name.

Are you testing the posted dotpet or a copy on your own drive?

Got an MD5 sum?


I also tested the /etc/rc.d/MODULESCONFIG edit

No change in any results. Modem not recognized by Pupdial. No sign that mwavem was started in Pprocess. And no response from the modem when trying from the terminal.

Hard to believe it was working perfectly in 3.01 and unreachable now.

I wonder if it works in 4.0.x?

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

#41 Post by rerwin »

vtpup,
Back, at last. I just now downloaded, renamed, and installed successfully the modem fix from the bugs forum, into both standard and retro puppys. The checksum is:
# md5sum modem+cardbus_fix-4.1.3.pet
3840775cfce2b88228afa843ec8bb3ad modem+cardbus_fix-4.1.3.pet
#
It is the same for the file with the %2B in the name.

One thing I forgot to note for when you use the modem dotpet is that you cannot make that mwave update to the MODULESCONFIG file. The bug I found prevents that override from loading the module. I found that the module name gets set to the entire line, so is an invalid call to modprobe. If I edit the guilty command to use only the first field of that line, the loading succeeds.

With a fresh puppy you should install only the modem+cardbus and mwave dotpets. If you are tired of messing with this, please give me some time to get straight my ultimate modem+ fix, so that it is compatible with the non-udev configuration (that I misunderstood to be related to retro).
Richard

User avatar
vtpup
Posts: 1420
Joined: Thu 16 Oct 2008, 01:42
Location: Republic of Vermont
Contact:

#42 Post by vtpup »

Not a problem to test again, but I'm not sure what you just said.

Can we just clarify the steps you want performed? I'm guessing the following -- please correct where needed:

1.) Boot 4.1.2 retro and delete the old personal save file.
2.) Shut down and create a new personal save file so that we are starting fresh.
3.).Boot from 4.1.2 retro CD
4.) Download modem+cardbus_fix-4.1.3.pet
5..) Compare md5 checksum to 3840775cfce2b88228afa843ec8bb3ad
6.) Install modem+cardbus_fix-4.1.3.pet
7.) Download mwavem-1.0.2-patched.pet (no MD5 given)
8.) Install
9.) Reboot?
10.)Open PupDial and probe. Determine if modem is recognized.

Is that correct? No editing in Geany -- or console commands needed in the above steps?

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

#43 Post by rerwin »

vtpup,
You are close. But it can be done more simplyg. So step 1 could be:
1.) Boot 4.1.2 retro with boot command "puppy pfix=ram". When booted up, delete the old personal save file.

Delete steps 2 and 3 and download the dotpets (step 4+). editing the %2B part of the name to "+".

Note that dotpets already check their md5sums and refuse to install if wrong. My guess is that that is what you are seeing.

Yes, step 9 is "reboot".

But step 10 should be:
10.) Click on the Connect icon and observe whether "no modem detected" or one is detected. (ttyS0?).

11) Click on button for "Internet by dialup analog modem". If pupdial shows a modem detected, set your dialup values and try to connect. Otherwise, try "Probe > probe". If you get a modem, try dialing it.

If things don't work out, please report whether file /etc/init.d/mwaved exists and, if so, whether /usr/bin/mwavem exists. If so, post the contents of /etc/wvdial.conf and /tmp/pupdial.log files (or attach them). Also check with lsmod to see if the mwave driver is loaded.

We can work from there.
Richard

User avatar
vtpup
Posts: 1420
Joined: Thu 16 Oct 2008, 01:42
Location: Republic of Vermont
Contact:

#44 Post by vtpup »

rerwin wrote:vtpup,
You are close. But it can be done more simplyg. So step 1 could be:
1.) Boot 4.1.2 retro with boot command "puppy pfix=ram". When booted up, delete the old personal save file.

Delete steps 2 and 3 and download the dotpets (step 4+). editing the %2B part of the name to "+".

Note that dotpets already check their md5sums and refuse to install if f things donwrong. My guess is that that is what you are seeing.

Yes, step 9 is "reboot".
Uhhh, I asume you mean shutdown, and create a personal save file in the shutdown dialog. Then reboot. Which is why you eliminated steps 2&3 I guess. Otherwise the dotpets are lost.

Okay will do.

Sometime Later.............
But step 10 should be:
10.) Click on the Connect icon and observe whether "no modem detected" or one is detected. (ttyS0?).
No modem detected.
11) Click on button for "Internet by dialup analog modem". If pupdial shows a modem detected, set your dialup values and try to connect. Otherwise, try "Probe > probe". If you get a modem, try dialing it.
No modem detected.
I't work out, please report whether file /etc/init.d/mwaved exists and, if so, whether /usr/bin/mwavem exists. If so, post the contents of /etc/wvdial.conf and /tmp/pupdial.log files (or attach them). Also check with lsmod to see if the mwave driver is loaded.
/etc/init.d/mwaved does not exist

Code: Select all

# lsmod
Module                  Size  Used by
wlan_tkip              12544  2 
parport_pc             31204  1 
lp                     12232  0 
parport                35400  2 parport_pc,lp
snd_pcm_oss            41120  0 
snd_seq_dummy           3972  0 
snd_seq_oss            33152  0 
snd_seq_midi_event      7296  1 snd_seq_oss
snd_seq                48208  5 snd_seq_dummy,snd_seq_oss,snd_seq_mid
snd_mixer_oss          16896  1 snd_pcm_oss
wlan_scan_sta          12928  1 
ath_rate_sample        13184  1 
ath_pci                97568  0 
wlan                  204144  5 wlan_tkip,wlan_scan_sta,ath_rate_samp
ath_hal               191568  3 ath_rate_sample,ath_pci
evdev                  10240  0 
serio_raw               6916  0 
i2c_piix4               8588  0 
i2c_core               21648  1 i2c_piix4
pcspkr                  2816  0 
apm                    19920  1 
intel_agp              24220  1 
agpgart                33872  1 intel_agp
snd_cs46xx             84936  0 
gameport               14728  1 snd_cs46xx
snd_rawmidi            23584  1 snd_cs46xx
snd_seq_device          8588  4 snd_seq_dummy,snd_seq_oss,snd_seq,snd
snd_ac97_codec        100772  1 snd_cs46xx
ac97_bus                2304  1 snd_ac97_codec
snd_pcm                74248  3 snd_pcm_oss,snd_cs46xx,snd_ac97_codec
snd_timer              22404  2 snd_seq,snd_pcm
snd                    54052  11 snd_pcm_oss,snd_seq_dummy,snd_seq_os            nd_mixer_oss,snd_cs46xx,snd_rawmidi,snd_seq_device,snd_ac97_codec,snd            mer
soundcore               7520  1 snd
snd_page_alloc         10632  2 snd_cs46xx,snd_pcm
fuse                   44820  0 
aufs                  151456  3 
nls_iso8859_1           4224  0 
nls_cp437               5888  0 
usbhid                 24544  0 
usb_storage            83008  0 
uhci_hcd               23948  0 
usbcore               126104  4 usbhid,usb_storage,uhci_hcd
sr_mod                 17444  0 
ide_cd                 39072  0 
cdrom                  36768  2 sr_mod,ide_cd
squashfs               46856  1 
yenta_socket           26508  3 
rsrc_nonstatic         13056  1 yenta_socket
Last edited by vtpup on Thu 05 Feb 2009, 15:52, edited 1 time in total.

User avatar
vtpup
Posts: 1420
Joined: Thu 16 Oct 2008, 01:42
Location: Republic of Vermont
Contact:

#45 Post by vtpup »

Additional info:

Looks like the modem+cardbus_fix-4.1.3.pet also doesn't install properly.

The Puppy Package Manager does give the successful installation message and the 2 .pets are shown installed in the manager when I open it again.

However, in the manager, the modem+cardbus_fix-4.1.3.pet Description reads:
"undetected device rules".

mwaved is not found at all anywhere in the filesystem..
mwavem locations from Pfind in attached screenshot.
Attachments
mwavemhits.png
(19.82 KiB) Downloaded 576 times

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

#46 Post by rerwin »

vtpup,
Not to worry. I can explain. Your search for "mwavem" should find a tar.gz file in /lib/modules/all-firmware. That is part of pupppy 4.1.2 even without the dotpet. It contains all the mwave pieces except for the driver, which is already present (in /lib/modules/2.6.25.26/kernel/drivers/char/mwave).

From your reports I conclude that your modem is not being detected by the "rule" because it is not a PCI modem. The rule looks for a vendor of 1014 and device 007d. Verify with PupScan PCI interfaces that this ID is not there, If it were, its module would be "unknown". You might post the output from pupscan, in case it holds any clues.

Assuming that is the case, your modem must be a ISA type, which is not automatically detected. The solution is to use the BootManager to add "mwave' to the list of modules to load at bootup. No need to add arguments, because they are ignored for mwave (which is a special case). That should trigger extraction of the mwave files and cause the init script to run at bootup. See how far that gets you.

If it works, please also try it without the mwave dotpet, to verify the stripped version still is bad, given that this activation method is different from what you described.
Richard

User avatar
vtpup
Posts: 1420
Joined: Thu 16 Oct 2008, 01:42
Location: Republic of Vermont
Contact:

#47 Post by vtpup »

rerwin wrote:vtpup,
Not to worry. I can explain. Your search for "mwavem" should find a tar.gz file in /lib/modules/all-firmware. That is part of pupppy 4.1.2 even without the dotpet. It contains all the mwave pieces except for the driver, which is already present (in /lib/modules/2.6.25.26/kernel/drivers/char/mwave).
2.6.21.7 -- this is retro, but yes the mwave .ko is there.
From your reports I conclude that your modem is not being detected by the "rule" because it is not a PCI modem.

Yes, I believe you said it was ISA way back in this thread -- in the "Granny" days.
The rule looks for a vendor of 1014 and device 007d. Verify with PupScan PCI interfaces that this ID is not there,
Not there.
Assuming that is the case, your modem must be a ISA type, which is not automatically detected. The solution is to use the BootManager to add "mwave' to the list of modules to load at bootup.
Will do.

Sometime later........

I enabled mwave in the bootmanager and rebooted. Went through the usual modem connection methods, probed twice. No modem found.

I searched the filesystem and this time mwavem and mwaved et al have been properly distributed into the filesystem

A check of Pprocess does not show mwavem running as a process.

We could start it manually, but I'll wait to hear from you.

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

#48 Post by rerwin »

vtpup,
I am embarrassed to have to admit that we have been through all this before. I just started again from scratch.

Anyway, you have gotten the mwave tarball to expand in association with "loading" mwave. Now to determine whether the script actually ran. One way is to check /tmp/bootsysinit.log for the lines:
Starting Mwave modem
Starting Mwave Manager
If the first message is missing, we need to find why the script doesn't run. I hope it is there.

Another way is to use lsmod to see if module mwave was loaded (by the script). Also, look at /dev/modem to see whether it exists and what it links to. But I suspect it doesn't get set until a successful probe. I think Barry changed serial modem startup to require probing. So either it does not exist or should point to ttyS0 or ttyS1. Please post or attach /tmp/pupdial.log, after probing.

In the mwaved script I found this at line 132 about the arguments you have used when modprobing mwave:
# Do not set DSPIO, DSPIRQ, UARTIRQ, or UARTIO if you have configured your Mwave
# modem with PS2.EXE, the ThinkPad Setup utility (Windows NT version), or tpctl
# (hopefully someday).
You mentioned you used ps2.exe, but I did not know what that was. Do you use ps2.exe to set those values in the bios? Or should I activate setting them in the mwaved script? They are commented out, but have the same values as yours. If you know they must be set, try uncommenting the subsequent four (obvious) assignment statements and reboot.

At least now we are getting somewhere.
Richard

User avatar
vtpup
Posts: 1420
Joined: Thu 16 Oct 2008, 01:42
Location: Republic of Vermont
Contact:

#49 Post by vtpup »

yup, light at end of tunnel.
check /tmp/bootsysinit.log for the lines:
Starting Mwave modem
Starting Mwave Manager
what was found:
check /tmp/bootsysinit.log for the lines:
Starting Mwave modem:
Starting Mwave Manager:failed
The PS2.exe utility is just a MSDOS program for setting BIOS parameters for most of the laptop functions like serial ports, modem, IR, printer port, etc. It is roughly the equivalent of most modern BIOS utilities included in ROM when you hold down a key when booting. With it you can set a device's IRQ parameters, it's port addresses, DMA params, etc.

The Thinkpads also have a utility that pops up if you hold down F1 while booting. Unfortunately it doesn't allow a user to control very much. Unlike modern BIOSes. Thus the need for IBM's PS2.exe. Apparently they wanted to shield casual users from changing port and irq asignments at a basic level.

My BIOS is newly flashed and strictly set for the default factory settings for all ports irq etc. The only use of PS2.exe I've made is to check (but not alter) those settings. I wanted to make sure I did indeed have factory settings, and that they matched what mwavem ships with as defaults. They do.

Many drivers and modules in Linux make assumptions about the port addresses, irqs etc based on Thinkpad factory defaults. I would guess that many "inexplicable" Thinkpad prolems are due to altered assignments at this level.

I believe the commented portion of mwaved that you quote might be an attempt to alter port assignments at a BIOS level. I would recommend against that. Maybe it isn't doing that, and is just hard coding expected port assignments. I don't know. I'm not able to read Bash well enough yet to understand what the script does.

I should say however that the mwaved script in 3.01 worked fine once I determined that the stripped mwavem was at fault. I bet that mwaved script in 412 is the same one as the "longer" mwaved I reportdon in another thread earlier.

The 3.01 version had the same comments you quote here, in fact I even pointed them out in an early troubleshooting stage in that other thread devoted to TP600e modem. Hang on, I'll find that reference in a minute.

Okay here it is:

http://www.murga-linux.com/puppy/viewto ... 6&start=18

Rerwin please read those posts. I believe we are going over territory that has already been explored, and resolved at this point.

User avatar
vtpup
Posts: 1420
Joined: Thu 16 Oct 2008, 01:42
Location: Republic of Vermont
Contact:

#50 Post by vtpup »

I just tried running mwavem from the console. But when I do, I don't see it running in Pprocess. Is there something wrong with mwavem? Is this the exact same one I have askred to be added to Puppy? Or has it been changed?

The reason I ask is that I can see two instances of mwavem:

/usr/bin/mwavem at 567305 bytes
and
/mnt/initrd/dev_save/usr/sbin/mwavem at 579276 bytes.

oddly, when doing a "properties" on the files, the smaller first one above has the description "not stripped" and the larger second one has the description "stripped."

Why would the stripped version be larger than the "not stripped"?

I guess we should look at the size of mwavem in the original dotpet package that worked with 3.01.

Post Reply