# Hotplug, Module und deren Parameter/Optionen ?!?

## Inte

Tach Jungs und Mädels,

Als erstes die gute Nachricht. Meine USB-Webcam läuft.  :Cool: 

Jetzt die Schlechte. Hotplug lädt zwar die passenden Module, aber nicht mit den Parametern die ich haben will. Ich hab eigentlich keine Lust jedesmal nach dem Webcam einstecken

```
rmmod pwcx

rmmod pwc

rmmod videodev

modprobe pwc compression=0 leds=500,500 power_save=1
```

als su tippen zu müssen.

Es muß doch irgendeine Möglichkeit geben hotplug beizubringen die gewünschten Optionen beim Modul laden zu berücksichtigen. Irgendeine Idee?

Gruß, Inte.

----------

## Mr.Big

Rein theoretisch so:

```
echo options pwc compression=0 leds=500,500 power_save=1 > /etc/modules.d/pwc
```

 und dann 

```
modules-update
```

----------

## Mac Fly

Funktioniert bei mir nicht. Ich hab 2.6.3-rc2-love-3 mit acx100_pci patch (WLAN-Treiber)

```
modprobe acx100_pci firmware_dir="/mnt/hda6/linux/appz/ti/WinXP/"
```

Also hab ich 

```
echo firmware_dir="/mnt/hda6/linux/appz/ti/WinXP/" > /etc/modules.d/acx100_pci && modules-update
```

ausgeführt.

Er hat den Parameter aber nicht übernommen. Also hab ich mir ein bootscript gebastelt...

```
#!/sbin/runscript

# Writen by ME! with _LOTS_ of help from Gentoo Forums.

start () {

        ebegin "Starting WLAN"

                modprobe acx100_pci firmware_dir="/mnt/hda6/linux/appz/ti/WinXP/"

                /etc/init.d/net.wlan0 start

                iwconfig wlan0 channel 11 essid ANY

        eend $? "Fehlgeschlagen - Firmware-Verzeichnis?"

}

stop () {

        ebegin "Stopping WLAN"

                /etc/init.d/net.wlan0 stop

                rmmod acx100_pci

        eend $? "WLAN Verbindung stoppen fehlgeschlagen"

}

restart () {

        ebegin "Restarting WLAN"

                svc_stop

                svc_start

}

```

und dann

```
rc-update add wlan boot
```

Is aber auch net so das wahre. Manchmal gehts, manchmal net  :Sad: 

----------

## Mr.Big

hotplug erwartet eigentlich das sich firmware zum nachladen in

```
/usr/lib/hotplug/firmware
```

befindet.

Hast Du das File mal da rein kopiert und das getestet?

Funktioniert bei mir mit meiner W-Lan Karte problemlos.

----------

## Mac Fly

Ich hab die Files jetzt in das Dir kopiert. Musste es allerdings vrher erstellen.

Wie soll ich das Modul jetzt laden? Überhaupt nicht und auf Hotplug warten?

Oder in der modules.autoload? Mit/Ohne Parameter?

----------

## Mac Fly

Ich hab jetzt die Startscripte entfernt, und stattdessen die treiber in /usr/lib/hotplug/firmware kopiert. In der modules.autoload hab ich nichts davon drin.

Jetzt wird beim booten das Modul zwar geladen, aber anscheinend ohne Firmware, denn ich bekomm immer noch den Fehler.

```
macfly@netkiffer:~> sudo /etc/init.d/net.wlan0 start

Password:

 * Bringing wlan0 up...

SIOCSIFADDR: Kein passendes Gerät gefunden

wlan0: unbekannte Schnittstelle: Kein passendes Gerät gefunden

SIOCSIFBRDADDR: Kein passendes Gerät gefunden

wlan0: unbekannte Schnittstelle: Kein passendes Gerät gefunden

SIOCSIFNETMASK: Kein passendes Gerät gefunden

 * Failed to bring wlan0 up         [ !! ]

```

Im Kernel Log hab ich folgendes gefunden:

```
Feb  7 16:15:11 [kernel] Allocating 6624, 19E0h bytes for wlandevice_t

Feb  7 16:15:11 [kernel] acx100_pci: probe of 0000:01:0a.0 failed with error -5

```

EDIT: Hab gerade gemerkt, das es manuell mit dem Verzeichnis auch nicht geht. 

```
root@netkiffer:/> modprobe acx100_pci firmware_dir="/usr/lib/hotplug/firmware/"

root@netkiffer:/> /etc/init.d/net.wlan0 start

 * Bringing wlan0 up...

SIOCSIFADDR: Kein passendes Gerät gefunden

wlan0: unbekannte Schnittstelle: Kein passendes Gerät gefunden

SIOCSIFBRDADDR: Kein passendes Gerät gefunden

wlan0: unbekannte Schnittstelle: Kein passendes Gerät gefunden

SIOCSIFNETMASK: Kein passendes Gerät gefunden

 * Failed to bring wlan0 up            [ !! ]

root@netkiffer:/> rmmod acx100_pci

root@netkiffer:/> modprobe acx100_pci firmware_dir="/mnt/hda6/linux/appz/ti/WinXP/"

root@netkiffer:/> /etc/init.d/net.wlan0 start

 * Bringing wlan0 up...      [ ok ] 
```

```
root@netkiffer:/home/macfly> ls -l /usr/lib/hotplug/firmware

insgesamt 220

-rwxrwxrwx    1 root     root          964  4. Feb 17:21 airplus.bin

-rwxrwxrwx    1 root     root            2  4. Feb 17:21 airplus.cat

-rwxrwxrwx    1 root     root        11318  4. Feb 17:21 airplus.inf

-rwxrwxrwx    1 root     root       155520  4. Feb 17:21 airplus.sys

-rwxrwxrwx    1 root     root          920  4. Feb 17:21 radio0d.bin

-rwxrwxrwx    1 root     root          964  4. Feb 17:21 radio11.bin

-rwxrwxrwx    1 root     root        33708  4. Feb 17:21 wlangen.bin

root@netkiffer:/home/macfly> ls -l /mnt/hda6/linux/appz/ti/WinXP/

insgesamt 384

-rwxrwxrwx    1 macfly   1000          964  5. Jan 2003  airplus.bin

-rwxrwxrwx    1 macfly   1000            2  8. Apr 2002  airplus.cat

-rwxrwxrwx    1 macfly   1000        11318 14. Mär 2003  airplus.inf

-rwxrwxrwx    1 macfly   1000       155520  5. Mär 2003  airplus.sys

-rwxrwxrwx    1 macfly   1000          920  5. Jan 2003  radio0d.bin

-rwxrwxrwx    1 macfly   1000          964  5. Jan 2003  radio11.bin

-rwxrwxrwx    1 macfly   1000        33708  5. Jan 2003  wlangen.bin

```

Was mach ich falsch, bzw. wo liegt der Fehler?

----------

## Mr.Big

Also du solltest nach /usr/lib/hotplug/firmware folgende Dateien kopieren: AIRPLUS.BIN, RADIO0d.BIN, RADIO11.BIN, WLANGEN.BIN 

Beachte bitte die GroßSchreibung ausser dem d bei RADIO0"d".BIN muß alls groß geschrieben sein. Jetzt 

```
echo options acx100_pci firmware_dir="/usr/lib/hotplug/firmware/" > /etc/modules.d/acx100_pci && modules-update
```

Jetzt sollte eigentlich beim Laden des Treibers alles funktionieren !? 

Noch was: *Quote:*   

> Also hab ich
> 
> Code:
> 
> ```
> ...

  Kann so nicht gehen  müßte richtig heißen:

```
echo options acx100_pci firmware_dir="/mnt/hda6/linux/appz/ti/WinXP/" > /etc/modules.d/acx100_pci && modules-update
```

----------

## Mac Fly

Spitze, Vielen Dank dafür, jetzt funktionierts.   :Very Happy: 

Nur, auf meiner XP-Partition hab ich den Treiber installiert, aber die Datei AIRPLUS.BIN kann ich nicht finden.

Ich hatte die aus nem Treiberpaket für ne andere Karte, die mir in der Readme vom acx100-Sourceforge-Projects empfohlen wurde.

Brauch ich für meine US Robotics nicht ne andere Datei? Ohne gehts aber komischerweise auch  :Smile: 

Jetzt muss ich nur noch rausfinden, wie ich die iwconfig einstellungen speichere.   :Very Happy: 

----------

## Mr.Big

 *Mac Fly wrote:*   

> 
> 
> Jetzt muss ich nur noch rausfinden, wie ich die iwconfig einstellungen speichere.  

 

Erstelle doch einfach in /etc/hotplug/pci ein Script mit dem selben Namen wie das Modul (acx100_pci).

Hotplug wird das dann automatisch nach dem laden der Treibers ausführen.

Bei mir sieht das so aus: 

```
#!/bin/bash

iwconfig eth1 essid Router enc ****-****-****-****-****-**

sleep 2

/etc/init.d/net.eth1 restart

```

Das ganze muss natürlich ausführbar sein.

----------

## Mac Fly

Vielen Dank für die schnelle Hilfe!   :Very Happy: 

----------

