also so ganz haut das nicht hin...
ich habe das modul fakephp im kernel (2.6.17.2) unter PCI-Hotplug aktiviert und den kernel neu kompiliert. dann habe ich das sdhci.sh scrpit an meine PCI-IDs (?) angepasst.
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
|
#!/bin/bash
modprobe fakephp
setpci -s 02:06.0 86.b=90:d0 # SDHCI enable
echo 0 > /sys/bus/pci/slots/0000:02:06.3/power
echo 0 > /sys/bus/pci/slots/0000:02:06.2/power
echo 0 > /sys/bus/pci/slots/0000:02:06.0/power
echo 1 > /sys/bus/pci/slots/0000:02:06.0/power
setpci -s 02:06.3 4c.b=02 # FlashMedia SD disable
setpci -s 02:06.4 04.b=06 # SDHCI Mem+ BusMaster+
setpci -s 02:06.4 88.b=01 # SDHCI DMA enable
|
beim ausführen kommen zwei fehlermeldungen
|
Quellcode
|
1
2
|
./sdhci.sh: line 7: echo: write error: Kein passendes Gerät gefunden
./sdhci.sh: line 8: echo: write error: Kein passendes Gerät gefunden
|
die betreffenden zeilen sind
echo 0 > /sys/bus/pci/slots/0000:02:06.0/power
echo 1 > /sys/bus/pci/slots/0000:02:06.0/power
aber die dateien existieren
in dmesg steht nach ausführen des scripts dies hier
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
|
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
fakephp: Fake PCI Hot Plug Controller Driver
fakephp: Can't remove PCI devices with other PCI devices behind it yet.
sdhci: Secure Digital Host Controller Interface driver, 0.11
sdhci: Copyright(c) Pierre Ossman
PCI: Device 0000:02:06.4 not available because of resource collisions
sdhci: probe of 0000:02:06.4 failed with error -22
ieee1394: Initialized config rom entry `ip1394'
ACPI: PCI Interrupt 0000:02:06.2[A] -> Link [LNKE] -> GSI 10 (level, low) -> IRQ 10
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[10] MMIO=[d020a000-d020a7ff] Max Packet=[2048] IR/IT contexts=[4/8]
ieee1394: Host added: ID:BUS[0-00:1023] GUID[00c09f000041ab29]
|
lspci gibt jetzt zwar ein neues gerät aus
|
Quellcode
|
1
|
02:06.4 Class 0805: Texas Instruments PCI6411, PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, PCI7611, PCI7621 Secure Digital (SD) Controller
|
aber es kann nicht benutzt werden und es wird auch kein mmc* device erstellt..
erstmal sollte wohl
|
Quellcode
|
1
2
|
echo 0 > /sys/bus/pci/slots/0000:02:06.0/power
echo 1 > /sys/bus/pci/slots/0000:02:06.0/power
|
funktionieren, aber ich habe leider keine ahnung was ich da machen soll
edit:
die meldung
|
Quellcode
|
1
|
fakephp: Can't remove PCI devices with other PCI devices behind it yet.
|
"gehört" zu
|
Quellcode
|
1
2
|
acer ~ # echo 0 > /sys/bus/pci/slots/0000:02:06.0/power
bash: echo: write error: Kein passendes Gerät gefunden
|
heißt dass das daran noch andere Geräte hängen?
aber im script werden doch alle anderen also 0000:02:06.2 und 0000:02:06.3 vorher ausgeschaltet...