stupid_idiot
Group: Members
Posts: 344
Joined: Oct. 2006 |
|
Posted: July 08 2007,07:21 |
|
If it is an ISA soundcard, the process could be VERY troublesome. I think that since the soundcard is not detected upon boot, it is most likely an ISA soundcard. Try this simple method first: If you have diffculty in finding the brand and model of the soundcard, I suggest looking up the brand and model of the computer on Google.com. You may find hardware specifications for that model, including the model of the soundcard. If you don't mind posting the brand and model of your computer here, we can help you with the searching too. Once we know the soundcard model, we will know what kernel module to load with `modprobe`. Hopefully, once we do this, the soundcard will be detected.
There is also a more complicated method in case the simple method doesn't work. Kernel modules for ISA hardware are typically configured to initialize the piece of hardware using default values for a set of parameters. If for some reason, the default system resources are not available (due to other devices hogging resources), the kernel module will be unable to initialize the hardware using these default values. Then, what you must do is reassign another set of system resources to the hardware using `pnpdump` and `isapnp` (I will talk about them later). When you have done the reassignment, you can `modprobe` the kernel module. Your must specify the newly-assigned system resources (io port, irq, dma ports) for your soundcard by appending additional arguments to the `modprobe module_name` command. Just what are these very-confusing 'parameters'? I will explain later, but for now, let's install the `pnpdump` and `isapnp` programs first. They are part of the 'isapnptools' package. You can get it from here. Then, install using `dpkg -i`: `dpkg -i isapnptools_1.26-5_i386.deb` That's it. You can now use `pnpdump` and `isapnp`.
`isapnp` is the program reassigns system resources for ISA cards. It uses a configuration file generated by `pnpdump`. What `pnpdump` does is scan your system and then output a configuration file. You choose the location and filename for this configuration file. You edit the configuration file to assign system resources to your ISA card(s). Then you pass this configuration file to `isapnp` by doing `isapnp your_configuration_file`; `isapnp` will activate your ISA card(s) using the system resources you have specified in the configuration file.
1. First, use `pnpdump` to generate the configuration file. The location and filename can be anything of your choice: e.g. `pnpdump -o /home/dsl/isapnp.conf`
2. Before we pass this file to `isapnp`, we must edit it. Open it with your favourite editor. The configuration file is made up of many segments (segment = one chunk of many lines). Each ISA card in the PC will have at least one segment dedicated to it. Each segment comprises a specific configuration (a designated IRQ, an IO port, and an 8-bit and 16-bit DMA port respectively) for a card. You will notice that in this configuration file, all lines are commented (i.e. they all start with '#'). You must choose a segment that refers to your soundcard (i.e "CONFIGURE name_of_your_soundcard"). Uncomment all the lines with keywords - keywords are words in CAPITALS. The usual keywords are CONFIGURE, INT, DMA, IO, and ACT (which always comes at the end of each segment). Once you have properly enabled a segment, exit the editor and run `isapnp` using the configuration file: e.g. `isapnp /home/dsl/isapnp.conf` If the above command is successful, we can `modprobe` the correct kernel module, using the values you chose in your configuration file. You should probably read the info for that kernel module, in order to know how to use the correct values together with `modprobe`. To access a module's info, do: `modinfo module_name` All sound modules are found in '/lib/modules/2.4.26/kernel/drivers/sound/' - try finding a module to match your soundcard (assuming you already guessed the brand and model); so, for example: `modinfo sb` or `modinfo cs4232` and so on.. You will see a list of possible parameters and their possible values. I've used a SoundBlaster SB16 in the past, so I'll use it as an example here: (The module for the SB16 is 'sb'. If you look at `modinfo sb` you should be able to understand the syntax for the following line.) `modprobe sb io=0x220 irq=5 dma=0 dma16=5` Other soundcard modules probably have identical parameter names as the ones above, since these are the most essential - but it is better to check anyway. Just make sure to use exactly the values that you uncommented in your isapnp configuration, and `modprobe` will probably detect your soundcard.
p.s. I understand that this howto is very complicated. I am very sorry about this.
|