Page 1 of 1

PCI-Express

Posted: 10. Aug 2009 20:31
by brum
Hallo,

ich nutze eine PCI-Express-Karte, um z.B. für ein mini-Notebook eine FW-Schnittstelle zu nutzen.

Bisher war der Treiber als Modul verfügbar.
Den konnte ich laden wie folgt:

Code: Select all

modprobe pciehp pciehp_force=1

und erhilt daraufhin auch automatisch das notwendige Device /dev/raw1394.

Nun habe ich einen neuen Kernel und dieser Treiber ist fest einkompilliert und es zuckt nix beim Einstecken der Karte... ;(

Wer weiß eine guten Rat? (Ausser Kernel neu übersetzen )

Gruß
brum

Posted: 11. Aug 2009 10:58
by Janka
Auf der Kernel-Kommandzeile

Code: Select all

pciehp.pciehp_force=1
anzugeben hast du schon versucht?

Janka

pcie hotplug

Posted: 11. Aug 2009 14:06
by brum
Hallo,

danke für den Tip..., aber ich habe gerade festgestellt, meine Behauptung war nicht ganz richtig:

Wenn ich mit eingesteckter Karte boote, ist das Gerät vorhanden.
Wenn ich diese Karte nach dem booten einstecke, passiert nix.

Auch nicht, wenn ich den Kernelaufruf beim Booten mitgebe.
Von wegen hotplug. Oder muß nun hotplug noch extra aktiviert werden?

Ein anders Problemchen ist noch, dass /dev/raw1394 die Gruppenrechte root (750) hat,
da kann ich ja erstmal nicht darauf zugreifen. Dann man das beim Erzeugen manipulieren?

Gruß
brum

Posted: 11. Aug 2009 14:47
by Janka
Also: Coldplug geht, Hotplug nicht. Löst die Karte beim Einstecken denn überhaupt einen Hotplug-Event aus? Dein bisheriges Laden des Moduls mittels force-Option spricht eigentlich dagegen. Gucke mal nach, ob Udev irgendwas macht, wenn du die Karte einsteckst:

Code: Select all

# udevcontrol --log_priority=debug
# tail -f /var/log/messages
...Karte einstecken, gucken...
# udevcontrol --log_priority=err
Janka

Posted: 11. Aug 2009 14:57
by brum
Nö, die Karte löst keine Ereignisse aus,
weder udvadmin monitor, noch bei den Kernelmeldungen.

(udevcontrol habe ich nicht an Bord...).

Da muß ich wohl den Kernel doch noch übersetzen, möchte ich bei angeschalteten Gerät die Karte aktivieren...


Hast Du eine Idee, wie das Device mit der richtigen Gruppenzugehörigkeit erzeugt wird?

Gruß
brum

Posted: 11. Aug 2009 15:06
by Janka
brum wrote:Nö, die Karte löst keine Ereignisse aus,
weder udvadmin monitor, noch bei den Kernelmeldungen.

(udevcontrol habe ich nicht an Bord...).
Ein echter Mangel. Hmm. Vermutlich kommt nicht mal ein Hotplug-Event. Ich vermute, dass der Treiber für die Cardbus-Bridge (meist ist das "yenta_socket") gar nicht geladen ist. Dann kann er natürlich auch keine eingesteckte Karte erkennen.
Da muß ich wohl den Kernel doch noch übersetzen, möchte ich bei angeschalteten Gerät die Karte aktivieren...

Hast Du eine Idee, wie das Device mit der richtigen Gruppenzugehörigkeit erzeugt wird?
Auch per Udev. Wenn du aber ohnehin modprobe machst spricht doch nichts gegen ein Skript, das nach dem modprobe die Gruppe einfach ändert.

Janka

moprobe

Posted: 11. Aug 2009 15:25
by brum
Ja, aber wenn ich modprbe einsetzen will muß ich den Kernel doch neu bauen ;(

Bei meinem aktuellen Kernel ist das Teil fet drinn...

LG
brum

Posted: 11. Aug 2009 18:38
by Janka
Ist denn yenta_socket (oder der zu deinem Board passende CardBus-Bridge-Treiber) ebenfalls fest eingebunden?

Janka

yenta

Posted: 11. Aug 2009 18:53
by brum
Ich deute das jetzt so als Modul:

Code: Select all

cat /boot/config-2.6.28-14-generic|grep YENTA
CONFIG_YENTA=m
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_TOSHIBA=y
So isses sicherer:

Code: Select all

$ find /lib/modules/2.6.28-14-generic/ -name "yenta*"
/lib/modules/2.6.28-14-generic/kernel/drivers/pcmcia/yenta_socket.ko
Also als Modul...

Gruß

Posted: 11. Aug 2009 20:25
by Janka
Ändere das mal, oder lade yenta-socket. Danach derselbe Spaß mit udev oben.

Janka

yanta

Posted: 11. Aug 2009 22:04
by brum
Hhm, yanta-socket, hier fehlt es mir an dem Wissen der Wirkungsweise...

Also geladen:

Code: Select all

# lsmod |grep yenta
yenta_socket           32396  0          
rsrc_nonstatic         19328  1 yenta_socket
pcmcia_core            43540  2 yenta_socket,rsrc_nonstatic
.. aber keine Kernelmessageraktion auf Stecken der Karte.