Importing a missing module

Booting, installing, newbie
Post Reply
Message
Author
otropogo

Importing a missing module

#1 Post by otropogo »

I've got a laptop without usb or IDE CDROM. It does have pcmcia slots, and I also have an Adaptec APA1460 Slimscsi pcmcia host adapter that will run seven SCSI devices under Windows or Knoppix 5.1.1.

The problem is that Puppy doesn't have the necessary module aha152x_cs. It only has aha152x, which doesn't do the trick.

So how do I find an aha152x_cs module that works in a given version of Puppy (I've been told that it must be compiled for each Linux Kernel) and import it?

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

#2 Post by tempestuous »

First, questions should not be posted in the HOWTO section of the forum.

Compiling modules requires the build tools (devx_...) plus kernel source, and some reading -
http://www.puppylinux.com/development/compilekernel.htm
Modules are highly kernel-version sensitive, so you really should be telling us what version of Puppy you wish to compile modules for. And be aware that the "retro" versions have a differnent kernel version than the main releases.

otropogo

#3 Post by otropogo »

First, I guess I got confused by all the questions that ARE posted in the HOW TO forum.

Secondly, it's not obvious to me why this question would belong in the Beginner's forum.

Thirdly, if this is intended as a forum for beginners, then directing them to learn how to recompile the kernel is scarcely helpful.

As for your question - the answer is that I have Puppy 3.01 Retro installed and (sort of) working on my target laptop. That is, 3.01 Retro recognizes and enables the three PC-card controllers, as well as the two ethernet cards, the two flash memory readers, and the apa1460 Slimscsi host adapter I use interchangeably in the CF-25 laptop.

However, the scsi chain fails to activate because Puppy "can't find aha152x_cs" (or words to that effect).

I'd much rather have the module in the current version. However, none of the above PCMCIA cards are enabled in Puppy 3.98 or Puppy 4.0. And Puppy 3.01 Standard has lost the ability to enable my most frequently used ethernet card, so until and unless those problem are fixed, the aha152x_cs module can only help me in Puppy 3.01 Retro.

And, yes, I realize that 3.01 Retro uses an earlier version of the Linux Kernel than 3.01 standard (I believe that's why its named "retro"). IIRC, it's Kernel 2.6.18, whereas the kernel in Puppy 4.0 is 2.6.21.

So one of the answers I hope to receive is how I find a working version of aha152x_cs (I've run into versions that just don't work too) that I could use in Puppy 3.01 Retro.

At the present, the closest I've come is the version in Knoppix 5.1.1. That one works on my CF-25, but the Kernel version is 2.6.19, not 2.6.18. If I were to find a version of Knoppix using Kernel 2.6.18, would I be able to use its aha152x_cs module in Puppy 3.01 Retro?

I've looked at the Puppy recompiling page you recommend, and have downloaded it for further study. But frankly, at least at first glance, it doesn't appear to address my questions as to how to find a missing module for a given Kernel and import it into Puppy.

In any case, I'm fairly certain that recompiling the kernel as described is beyond the capability of most beginners, probably including yours truly, who's been a Linux Beginner for a decade, and a Puppy user for over a year (since 2.1 IIRC).

For most of us "beginners", this is simply a matter of how much time we're willing and/or able to dedicate to making one version of one Linux distribution functional on one machine. Having spent several hundred hours over the past 16 months on the quest to make Puppy work on my Toughbook CF-25, I don't think I'm exagerating the difficulties.

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#4 Post by Aitch »

@otropogo
However, the scsi chain fails to activate because Puppy "can't find aha152x_cs" (or text to that effect)
Maybe PCMCIA not loading? [or simply timing]

modprobe yenta_socket
NB: for reasons can't fathom, I couldn't find my own post by browsing through the most recent posting in the Beginners forum after it was moved there. I had to use the search engine to locate it. Any idea why?
All I do is hit 'Forum index' LH side, to bring up a 'sign in page', then in the middle of the 3 on the right, is, 'View your posts'

SCSI is a work in progess as BarryK has just been sent some SCSI kit to sort out SCSI booting

I have a tekram DC395UW & 4x18G SCSI-3 drives fully functional in puppy 2.14 & 214R, so the capability is there
That is, 3.01 Retro recognizes and enables the three PC-card controllers, as well as the two ethernet cards, the two flash memory readers, and the apa1460 Slimscsi host adapter I use interchangeably in the CF-25 laptop.
Why not use the apa1460 Slimscsi with Puppy in the laptop, and the aha152x in the other box?

Or did I miss something?

Aitch

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

#5 Post by tempestuous »

otropogo wrote:If I were to find a version of Knoppix using Kernel 2.6.18, would I be able to use its aha152x_cs module in Puppy 3.01 Retro?
No. It's not just the kernel version that's important, it's the specific kernel configuration. Modules are highly kernel-version and kernel-configuration sensitive.
otropogo wrote:I have Puppy 3.01 Retro installed
That small piece of information is all I need to help you.
aha152x_cs driver package for 2.6.18.1 kernel here -
http://www.murga-linux.com/puppy/viewto ... 274#196274

otropogo

#6 Post by otropogo »

otropogo wrote:I have Puppy 3.01 Retro installed
tempestuous wrote:That small piece of information is all I need to help you.
aha152x_cs driver package for 2.6.18.1 kernel here -
http://www.murga-linux.com/puppy/viewto ... 274#196274
Thanks Tempestuous,

You've put that problem to rest.

Unfortunately, there seems to be another problem that prevents aha152x_cs from loading.

I downloaded the Pet file from the url you provided, then installed it with Petget. Pet reported the install "successful", and checked for dependencies - no problem. But still no sign of aha152x_cs loading.

I looked for it with the Startup Configurator, but couldn't find it in the list of available modules. I rebooted, and Puppy 3.01 still loaded aha152x, not _cs, and the adapter and attached CD drive remained inaccessible.

It still wasn't listed in the Startup Configurator list.

I have no idea what's going on, but I have noticed that the "blacklist" function in Startup Configurator doesn't seem to work. I've seen aha152x listed on both sides of the panel at the same time. I can remove it from the blacklist side, but not from the "load" side.

I ran Petget again to check for dependencies after rebooting, and aha152x_cs appeared there as the only available entry. Again it passed the dependencies check.

Finally, I tried to find it on the system with Pfind, and got the following result:

/initrd/pup_rw/lib/modules/2.6.18.1/kernel/drivers/scsi/pcmcia/aha152x_cs.ko
/initrd/pup_rw/root/.packages/aha152x_cs-k2.6.18.1.files
/initrd/pup_rw/root/.packages/.wh.aha152x_cs-k2.6.18.1
/initrd/pup_rw/root/.packages/.wh.aha152x_cs-k2.6.18.1.tar.gz
/initrd/pup_rw/.wh.aha152x_cs-k2.6.18.1.pet.specs
/lib/modules/2.6.18.1/kernel/drivers/scsi/pcmcia/aha152x_cs.ko
/root/.packages/aha152x_cs-k2.6.18.1.files

Maybe that will provide a clue to the problem and how to solve it?
Last edited by otropogo on Sun 11 May 2008, 04:49, edited 1 time in total.

otropogo

#7 Post by otropogo »

Aitch wrote:
All I do is hit 'Forum index' LH side, to bring up a 'sign in page', then in the middle of the 3 on the right, is, 'View your posts'

SCSI is a work in progess as BarryK has just been sent some SCSI kit to sort out SCSI booting

I have a tekram DC395UW & 4x18G SCSI-3 drives fully functional in puppy 2.14 & 214R, so the capability is there
Thanks for the tip on accessing my own posts, I actually edited that line out of the post subsequently, but you must have caught my message before I finished editing it.

I know SCSI can work in Puppy, I've run a couple of desktops with SCSI drives with it. pcmcia service also runs in 3.01R, as I'm abel to use two flash reader adapters, and two ethernet cards in 3.01R.

But my Slimscsi adapter has never run in any version of Puppy I've tried.

[quote = "Otropogo"]That is, 3.01 Retro recognizes and enables the three PC-card controllers, as well as the two ethernet cards, the two flash memory readers, and the apa1460 Slimscsi host adapter I use interchangeably in the CF-25 laptop. [/quote]
aitch wrote:Why not use the apa1460 Slimscsi with Puppy in the laptop, and the aha152x in the other box?

Or did I miss something?
No, I misspoke.Puppy 3.01 Retro recognizes and enables all of the listed cards BUT the apa1460a. That one it recognizes but can't load.because it can't locate aha152x_cs. It loads aha152x instead, but that doesn't work.

User avatar
8-bit
Posts: 3406
Joined: Wed 04 Apr 2007, 03:37
Location: Oregon

#8 Post by 8-bit »

If aha152x_cs is shown in the scsi directory, try navigating to that directory.
Then open a terminal in that directory by right mouse click, window, open terminal here.
Then type depmod in the terminal.
That will make the module visible to the kernel.
You could then modprobe it to see.
Hope that helps.

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

#9 Post by tempestuous »

8-bit wrote:Then type depmod in the terminal.
When compiling modules yourself, yes, this is necessary. But my aha152x_cs-k2.6.18.1.pet package automatically runs depmod at the end of the installation with a post-install script in the dotpet. All of the module packages I provide work this way. The aha152x_cs-k2.6.18.1.pet has installed just fine. There are other problems.
otropogo wrote:Puppy 3.01 still loaded aha152x, not _cs
This is the problem. Puppy has loaded the wrong module, and now that the device is claimed by the wrong module the correct module will not load.
Automatic module loading is not totally reliable. It depends on what modules are specified as compatible with various Vendor/Device ID's. For PCMCIA devices I think you will find these definitions in /usr/share/pci-usb-pcmcia.ids and /etc/pcmcia/config
It's possible to modify these files so that things work automatically, but during the testing phase I suggest you just do things manually. First unload the wrong module

Code: Select all

rmmod aha152x
Now load the correct module

Code: Select all

modprobe aha152x_cs
It may also be necessary to load the SCSI cdrom (sr) driver, so -

Code: Select all

modprobe sr_mod
And if still no luck, the generic SCSI driver may be needed as well -

Code: Select all

modprobe sg
Pmount or the CD/DVD Drive Wizard should now find your drive.

otropogo

#10 Post by otropogo »

tempestuous wrote: Automatic module loading is not totally reliable. It depends on what modules are specified as compatible with various Vendor/Device ID's. For PCMCIA devices I think you will find these definitions in /usr/share/pci-usb-pcmcia.ids and /etc/pcmcia/config
It's possible to modify these files so that things work automatically, but during the testing phase I suggest you just do things manually. First unload the wrong module

Code: Select all

rmmod aha152x
Now load the correct module

Code: Select all

modprobe aha152x_cs
It may also be necessary to load the SCSI cdrom (sr) driver, so -

Code: Select all

modprobe sr_mod
And if still no luck, the generic SCSI driver may be needed as well -

Code: Select all

modprobe sg
Pmount or the CD/DVD Drive Wizard should now find your drive.
BINGO!

Actually, when I booted the CF-25 to try your suggestions, I saw the Slimscsi adapter recognized and aha152x_cs loaded automatically. This is strange, as this is the third time I've booted Puppy3.01 since installing aha152x_cs, and I haven't seen this message before.

But the CD drive remained invisible to Pmount and the CD Wizard.

# rmmode aha152x

returned: ERROR:module AHA152x does not exist in /proc/modules

# modprobe aha152x_cs

returned:

I then looked at Bootmanager's Blacklist Manager, and found aha152x_cs and sr_mod loaded, but not sg

now aha152x is shown in the available (but unloaded) modules in the Add list of Bootmanager.

Finally, I ran

# modprobe sg

returned:

Then I rebooted the system. Strangely, FreeDos now no longer reports seeing the adapter and target with ASPI 4.01 for DOS, nor is the SCSI CD drive accessed during bootup. But Pmount finds it and mounts it as sr0.

It appears that the missing ingredient WAS the module sg as you guessed

The CD/DVD wizard also shows the drive (a Sony CD-RW CRX145S) as default CD reader, default CD Burner, and default DVD reader.

I can confirm its ability to read CDs and have established that it cannot read DVDs

I haven't tried burning a CD yet.

MUT, still available in 3.01 Retro, can see the drive, but can't mount it. It gives only two options "eject" and "close".

I have a weak spot for Media Utility Tool, because, in my experience with two desktop systems and the CF-25, Pmount will not run at all if there is an LS-120 drive installed in the system (even if there's no disk in it). It was MUT and the LS-120 that enabled me to try Puppy on the CF-25 (via an LS-120 installation), and thereby bootstrap my way to a hadrdrive install of 3.01 Retro. So, despite its shortcomings, I wish M.U.T. were still available in the current Puppy version.

So thank you very much Tempestuous. I should now be able to run a SCSI chain with scanner, hard drives, removables, etc.., and perhaps remaster a LiveCD.

Now, if only I could find a way to load pcmcia services and the adapter module from a wakepup boot floppy so I could boot LiveCds from this drive.

Is that possible?

I'm also wondering whether an aha152x_cs module is (or will eventually be) available for Puppy 4.0 (I'm assuming that the other pcmcia issues in ver. 4.0 will be resolved shortly)

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

#11 Post by tempestuous »

otropogo wrote:Now, if only I could find a way to load pcmcia services and the adapter module from a wakepup boot floppy so I could boot LiveCds from this drive.
I think that the extra modules we have been discussing in this thread would need to be added to wakepup. I don't know anything about wakepup. I think John Doe was the author?
otropogo wrote:I'm also wondering whether an aha152x_cs module is (or will eventually be) available for Puppy 4.0
Jump on the Developer Blog and ask Barry to enable this module in the Puppy4.01 kernel configuration.

otropogo

#12 Post by otropogo »

tempestuous wrote:... I don't know anything about wakepup. I think John Doe was the author?
The version of Wakepup2 used by 3.01 Retro is numbered 0.3, and for authorship says only 'by pakt".

I've just done a quick google for "wakepup2", and it seems that "crash" produced a new version last December with enhanced PMCIA support, but I haven't tried it yet.

The lack of pcmcia support on boot floppies has been a constant issue in the Linux world, not just with Puppy or LiveCDs, but generally, for some years now.

Initially, most of the distros had supplemental pcmcia boot floppies, but often they just didn't work and were never fixed. Knoppix never had pcmcia boot floppy support. Suse last had boot floppies for installation in version 9.2, and I was able to install it on my CF-25 from my pcmcia_scsi CD-player (of course, it was just an exercise, since there was no way it could run on the P166 with the meagre 96MB of RAM I had then).

Jochen Luell once put out a pcmcia supplementary floppy for Knoppix (in 2004 or so, when Knoppix still offered boot floppies for systems without a bootable CD drive), but on my system it gave an "NTFSLDR not found" error and halted the system, and my e-mails to the author went unanswered. His site luell.com.de has since been put to other uses, and he seems to have disappeared from the net.

Klaus Knopper, while always courteously (and sometimes helpfully) responding to my infrequent e-mails about his LiveCDs and DVDs, abandoned PCs without bootable CD players, apparently because creating multiple boot floppies is not worth the trouble (IIRC, SUSE 9.2 provides 5 boot floppies to get the CD going). But even before he abandoned boot floppies altogether, he ignored my request for PCMCIA support on the boot floppies.

So far as I can tell, none of the so-called "light" Linuxes, such as Antix, Xubuntu, Vector Lite, DSL, etc., provide pcmcia boot floppies (IIRC, none provide any boot floppies at all). So there is definitely a niche left unfilled here. If the new WakePup2 can fill it, it would be a major breakthrough, as I don't believe ANY LiveCD has ever been bootable from a PCMCIA _SCSI device.

And, presumably, if it were possible to boot from a PCMCIA_SCSI device, it should be equally possible to boot from the now much more common PCMCIA flash card readers, which would be hugely faster and more convenient.

Post Reply