Hallo Liste, vorweg: SuSE 9.0 Pro Kernel 2.6.4 Adaptec 29160 HP Deskjet 640C Langsam bin ich am verzweifeln mit den beiden Modulen aic7xxx und usblp. Ich kriegs einfach nicht gebacken, dass der SCSI-Controller und der Drucker ab Systemstart ohne Handarbeit bereitstehen. YAST erkennt zwar sowohl den Drucker als auch den Hostadapter, bringt es aber nicht fertig, beide so einzubinden, dass es von anfang an funktioniert. Google und die man-pages haben mir nicht wirklich geholfen. Kann mir jemand helfen, dass hinzukriegen? Danke schonmal, Christof Schlund -- ... keep on rockin' and always remember: fun is NOT a straight line! http://www.trink-und-schraub.de http://profiseller.de/shop/schlund gpg/pgp-Signatur: http://www.stud.tu-ilmenau.de/~schlund/pgp-public.txt
Christof Schlund wrote:
vorweg: SuSE 9.0 Pro Kernel 2.6.4 Adaptec 29160 HP Deskjet 640C
Langsam bin ich am verzweifeln mit den beiden Modulen aic7xxx und usblp. Ich kriegs einfach nicht gebacken, dass der SCSI-Controller und der Drucker ab Systemstart ohne Handarbeit bereitstehen. YAST erkennt zwar sowohl den Drucker als auch den Hostadapter, bringt es aber nicht fertig, beide so einzubinden, dass es von anfang an funktioniert.
Das mag evtl. an Kernel 2.6 liegen. SuSE 9.0 basiert ja standardmaessig noch auf Kernel 2.4. Ich nehme an, Du brauchst den SCSI Controller nicht zum Booten, sonst muesste ja die Unterstuetzung direkt in den Kernel compiliert oder zumindest eine Initial Ramdisk verwendet werden. Evtl. wird hier durch YaST die /etc/modules.conf statt der bei Kernel 2.6 verwendeten modprobe.conf angepasst. Ist nun eine reine Vermutung. Ich wuerde jedenfalls mal in diese Richtung nachforschen. Was machst Du denn per Handarbeit, um die Dinge dann ans Laufen zu bekommen? CU, Th.
Am Dienstag, 27. April 2004 20:55 schrieb Thomas Hertweck:
Das mag evtl. an Kernel 2.6 liegen. SuSE 9.0 basiert ja standardmaessig noch auf Kernel 2.4.
Könnte sein ...
Ich nehme an, Du brauchst den SCSI Controller nicht zum Booten, sonst muesste ja die Unterstuetzung direkt in den Kernel compiliert oder zumindest eine Initial Ramdisk verwendet werden.
Nein, brauche ich nicht. Da hängen ab und zu mal 2 Platten dran, aber hauptsächlich brauch ich den wegen dem Brenner.
Evtl. wird hier durch YaST die /etc/modules.conf statt der bei Kernel 2.6 verwendeten modprobe.conf angepasst. Ist nun eine reine Vermutung. Ich wuerde jedenfalls mal in diese Richtung nachforschen.
Habe mir gerade die modules.conf mal angeschaut, da steht nix von usblp oder aic7xxx drin.
Was machst Du denn per Handarbeit, um die Dinge dann ans Laufen zu bekommen?
Ein einfaches modprobe usblp bzw. modprobe aic7xxx reicht aus. Danke erstmal, Christof -- ... keep on rockin' and always remember: fun is NOT a straight line! http://www.trink-und-schraub.de http://profiseller.de/shop/schlund gpg/pgp-Signatur: http://www.stud.tu-ilmenau.de/~schlund/pgp-public.txt
Christof Schlund wrote:
[...] Ein einfaches modprobe usblp bzw. modprobe aic7xxx reicht aus.
Was den SCSI-Hostadapter angeht: Versuche es doch mal mit einem "alias scsi_hostadapter aic7xxx" in /etc/modprobe.conf und einem anschliessenden "depmod -a". Was usblp angeht: das riecht fuer mich irgendwie wie ein Modul fuer einen USB Drucker. Das wird also vermutlich ueber Hotplug geregelt. Da hat sich ein bisschen 'was geaendert bei Kernel 2.6. Evtl. verursacht dies das Problem bei Dir. Wenn der USB Drucker angeschlossen wird, muesste das Hotplug registrieren (schau Dir nach dem Einstoepseln mal die Ausgabe von "dmesg" an, da muesste ein Eintrag auftauchen) - wenn Vendor und Product ID bekannt sind, sollte eigentlich automatisch ein geeignetes Modul geladen werden. Das mit Hotplug ist aber fuer mich eine etwas undurchsichtige Sache, da kenne ich mich leider auch nicht so gut aus. Gruesse, Th.
Hallo, Am Dienstag, 27. April 2004 21:43 schrieb Thomas Hertweck:
Was den SCSI-Hostadapter angeht: Versuche es doch mal mit einem "alias scsi_hostadapter aic7xxx" in /etc/modprobe.conf und einem anschliessenden "depmod -a".
Das habe ich schon probiert, allerdings ohne Ergebnis. Oder habe ich das depmod -a vergessen? Ich denke zwar nicht, werde es aber dennoch nochmal probieren.
Was usblp angeht: das riecht fuer mich irgendwie wie ein Modul fuer einen USB Drucker.
Ist es. Zumindest druck der Drucker nach dem laden des Moduls ordnungsgemäß. Ohne tut er da nicht.
Das wird also vermutlich ueber Hotplug geregelt. Da hat sich ein bisschen 'was geaendert bei Kernel 2.6. Evtl. verursacht dies das Problem bei Dir. Wenn der USB Drucker angeschlossen wird, muesste das Hotplug registrieren (schau Dir nach dem Einstoepseln mal die Ausgabe von "dmesg" an, da muesste ein Eintrag auftauchen) - wenn Vendor und Product ID bekannt sind, sollte eigentlich automatisch ein geeignetes Modul geladen werden.
Es wird zwar das ab- und anstöpseln erkannt, allerdings lädt er kein Modul beim Anstecken.
Das mit Hotplug ist aber fuer mich eine etwas undurchsichtige Sache, da kenne ich mich leider auch nicht so gut aus.
Hm, schade, geht mir aber ganz genauso. Und genauso wenig blicke ich leider bei dem ganzen Modulhandling durch, bzw. in Ansätzen hab ich es schon verstanden, aber eben diese Sachen nicht :( Hast Du sonst noch irgendeine Idee? btw: Ich wollte mich schon lange mal bei dir bedanken für dein klasse Kernel-howto. Hat mir damals bei den ersten Selbstbauversuchen sehr weitergeholfen. Danke bis hier hin, Christof -- ... keep on rockin' and always remember: fun is NOT a straight line! http://www.trink-und-schraub.de http://profiseller.de/shop/schlund gpg/pgp-Signatur: http://www.stud.tu-ilmenau.de/~schlund/pgp-public.txt
Christof Schlund wrote:
Am Dienstag, 27. April 2004 21:43 schrieb Thomas Hertweck:
Was den SCSI-Hostadapter angeht: Versuche es doch mal mit einem "alias scsi_hostadapter aic7xxx" in /etc/modprobe.conf und einem anschliessenden "depmod -a".
Das habe ich schon probiert, allerdings ohne Ergebnis. Oder habe ich das depmod -a vergessen? Ich denke zwar nicht, werde es aber dennoch nochmal probieren.
Ohne "depmod -a" wird es nicht gehen (ausser Du rebootest). Der Eintrag sollte eigentlich funktionieren (zumindest tat er das bei Kernel 2.4). Das Modul aic7xxx muesste bei Zugriff auf den SCSI Hostadapter automatisch geladen werden.
[...] Hm, schade, geht mir aber ganz genauso. Und genauso wenig blicke ich leider bei dem ganzen Modulhandling durch, bzw. in Ansätzen hab ich es schon verstanden, aber eben diese Sachen nicht :(
Zum Module-Handling habe ich mal fuer Kernel 2.4 eine etwas ausfuehrlichere Email geschrieben: http://marc.theaimsgroup.com/?l=suse-linux&m=107417319319370&w=2 Bei Kernel 2.6 hat sich einiges geaendert, nicht nur der Name der Konfigurationsdatei von modules.conf zu modprobe.conf, vor allem hat sich auch die Syntax geaendert. Die prinzipielle Funktionsweise von modprobe ist aber identisch. Vielleicht blickst Du damit ja ein wenig mehr durch. Hotplug behandelt das allerdings nicht...
[...] Hast Du sonst noch irgendeine Idee?
Momentan leider nicht. Frag mal David :-) Gruesse, Thomson
Hallo, Am Tue, 27 Apr 2004, Thomas Hertweck schrieb:
Christof Schlund wrote:
Am Dienstag, 27. April 2004 21:43 schrieb Thomas Hertweck:
Was den SCSI-Hostadapter angeht: Versuche es doch mal mit einem "alias scsi_hostadapter aic7xxx" in /etc/modprobe.conf und einem anschliessenden "depmod -a".
Das habe ich schon probiert, allerdings ohne Ergebnis. Oder habe ich das depmod -a vergessen? Ich denke zwar nicht, werde es aber dennoch nochmal probieren.
Ohne "depmod -a" wird es nicht gehen (ausser Du rebootest). Der Eintrag sollte eigentlich funktionieren (zumindest tat er das bei Kernel 2.4). Das Modul aic7xxx muesste bei Zugriff auf den SCSI Hostadapter automatisch geladen werden.
Hm. Ich verwende Kernel 2.6 noch nicht (bin zu faul mir das noetige zu kompilieren), aber es koennte sein, dass das "dummy-Alias" scsi_hostadapter nicht mehr tut. Funktionieren sollte aber: ==== Achtung: nur 2 Zeilen, jew. mit '\' (und ohne dieses als eine Zeile einzufuegen) gekennzeichnet ==== # post-install install scsi_mod /sbin/modprobe --ignore-install scsi_mod && \ /sbin/modprobe aic7xxx # pre-remove remove scsi_mod /sbin/modprobe -r aic7xxx && \ /sbin/modprobe --ignore-remove -r scsi_mod ==== Und ja, schade, dass die modprobe.conf so ein Rueckschritt ist. Bei der modules.conf haette ein ==== # optimized post-install + pre-remove above scsi_mod aic7xxx ==== ausgereicht. *seufz* Die Reihenfolge (erst scsi_mod laden, dann aic7xxx) muesste stimmen, sicher bin ich mir aber nicht. Daher muss man ggfs. die "install" / "remove" Befehle anpassen (das waere dann analog zu einem "below scsi_mod aic7xxx" bzw. "pre-install + post-remove"): ==== # pre-install install scsi_mod /sbin/modprobe aic7xxx; \ /sbin/modprobe --ignore-install scsi_mod # post-remove remove scsi_mod /sbin/modprobe --ignore-remove -r scsi_mod && \ /sbin/modprobe -r aic7xxx ==== Zu usblp bzw. hotplug weiss ich leider auch nix, zur Not koennte man aber wohl das modprobe usblp an das laden des Host-Adapter-Treibers ([ou]hci-*) koppeln... IIRC hab ich dazu aber mal ne bessere Variante (fuer Kernel 2.4) gefunden, da ging's aber um 'scanner.o' und nicht um 'usblp.o'... Naja, Schuss ins Blaue: ==== # usb-interface sollte (bitte pruefen!) ein alias fuer usb-ohci oder # usb-uhci sein und von Yast definiert werden. Ansonsten, wenn man # weiss ob uhci oder ohci, dann usb-interface im folgenden durch das # jew. interface-Modul (usb-ohci oder usb-uhci) ersetzen... # post-install install usb-interface /sbin/modprobe --ignore-install usb-interface && \ /sbin/modprobe usblp # pre-remove remove usb-interface /sbin/modprobe -r usblp && \ /sbin/modprobe --ignore-remove -r usb-interface ====
[...] Hast Du sonst noch irgendeine Idee?
Momentan leider nicht. Frag mal David :-)
Aeh? Wie? Watt? Woher soll isch dann datt wissen? Isch han' doch gar keijn 2.6 Keanel, unn USB han' isch ooch nit. -dnh PS@Thomson: ...dass wir beide "nebenan" die gleiche Metapher bzgl. reboot nach Kernelupdate verwendet haben... *lol* -- If you haven't got time to RTFM, you haven't got time to whine on this mailing list.
Moin! David Haller wrote:
Am Tue, 27 Apr 2004, Thomas Hertweck schrieb:
[..."alias scsi_hostadapter aic7xxx" in /etc/modprobe.conf ...]
Ohne "depmod -a" wird es nicht gehen (ausser Du rebootest). Der Eintrag sollte eigentlich funktionieren (zumindest tat er das bei Kernel 2.4). Das Modul aic7xxx muesste bei Zugriff auf den SCSI Hostadapter automatisch geladen werden.
Hm. Ich verwende Kernel 2.6 noch nicht (bin zu faul mir das noetige zu kompilieren), aber es koennte sein, dass das "dummy-Alias" scsi_hostadapter nicht mehr tut.
Das waere moeglich. Allerdings wurde der Eintrag bei mir durch generate-modprobe.conf von modules.conf uebernommen, d.h. das "alias scsi_hostadapter off" aus der alten Konfig-Datei wurde zu einem "install scsi_hostadapter /bin/true" in der neuen Konfig-Datei. Da das kleine Skript Eintraege, die sich nicht uebertragen lassen, eigentlich entfernt (das gibt dann ein Haufen von Meldungen beim Portieren), dachte ich, dass es so eigentlich gehen sollte. Kann ich leider nicht testen, da ich zu Hause keinen SCSI-Hostadapter habe... Mag also sein, dass Du Recht hast.
[...] Und ja, schade, dass die modprobe.conf so ein Rueckschritt ist. Bei der modules.conf haette ein [...] ausgereicht. *seufz*
Da sprichst Du wahre Worte. Die Begruendung, die Funktionalitaet von modprobe bzw. /etc/modprobe.conf derart abzuspecken, finde ich schon ein wenig seltsam (wird in der Man-Page erwaehnt). Aber vielleicht steckt noch viel mehr dahinter, was wir bisher nicht durchschaut haben...
[...Noch irgendeine Idee?...]
Momentan leider nicht. Frag mal David :-)
Aeh? Wie? Watt? Woher soll isch dann datt wissen? Isch han' doch gar keijn 2.6 Keanel, unn USB han' isch ooch nit.
Abber Du hesch Ahnung von Module un so ... :-) Gruesse, Th.
Hallo, Am Wed, 28 Apr 2004, Thomas Hertweck schrieb:
David Haller wrote:
Am Tue, 27 Apr 2004, Thomas Hertweck schrieb:
[..."alias scsi_hostadapter aic7xxx" in /etc/modprobe.conf ...]
Ohne "depmod -a" wird es nicht gehen (ausser Du rebootest). Der Eintrag sollte eigentlich funktionieren (zumindest tat er das bei Kernel 2.4). Das Modul aic7xxx muesste bei Zugriff auf den SCSI Hostadapter automatisch geladen werden.
Hm. Ich verwende Kernel 2.6 noch nicht (bin zu faul mir das noetige zu kompilieren), aber es koennte sein, dass das "dummy-Alias" scsi_hostadapter nicht mehr tut.
Das waere moeglich. Allerdings wurde der Eintrag bei mir durch generate-modprobe.conf von modules.conf uebernommen, d.h. das "alias scsi_hostadapter off" aus der alten Konfig-Datei wurde zu einem "install scsi_hostadapter /bin/true" in der neuen Konfig-Datei. Da das kleine Skript Eintraege, die sich nicht uebertragen lassen, eigentlich entfernt (das gibt dann ein Haufen von Meldungen beim Portieren), dachte ich, dass es so eigentlich gehen sollte. Kann ich leider nicht testen, da ich zu Hause keinen SCSI-Hostadapter habe... Mag also sein, dass Du Recht hast.
Hm. Kommt wohl auch auf den Rest der modprobe.conf an. Der Kernel selbst scheint das aber anzufordern (lt. drivers/scsi/scsi.c): ==== * Added request_module("scsi_hostadapter") for kerneld: * (Put an "alias scsi_hostadapter your_hostadapter" in /etc/modules.conf) ==== In der mitgelieferten modprobe.devfs findet sich u.a.: ==== alias /dev/sr* /dev/sr alias /dev/sg* /dev/sg [..] install /dev/sg /sbin/modprobe scsi_hostadapter; /sbin/modprobe sg; /bin/true install /dev/sr /sbin/modprobe scsi_hostadapter; /sbin/modprobe sr_mod; /bin/true ====
[...] Und ja, schade, dass die modprobe.conf so ein Rueckschritt ist. Bei der modules.conf haette ein [...] ausgereicht. *seufz*
Da sprichst Du wahre Worte. Die Begruendung, die Funktionalitaet von modprobe bzw. /etc/modprobe.conf derart abzuspecken, finde ich schon ein wenig seltsam (wird in der Man-Page erwaehnt). Aber vielleicht steckt noch viel mehr dahinter, was wir bisher nicht durchschaut haben...
Ich hab mal in modprobe.c (0.9.15-pre4) geworfen... Es ist wohl ne ziemliche Vereinfachung, alles nach dem String "install MODUL|ALIAS " einfach per system(3) einer /bin/sh -c "" in den Rachen zu werfen. Ohje -- wenn da jemand ungewollt in die modprobe.conf schreiben kann (oder in eine von dort "include"ete Datei), dann ist die K**** am dampfen... Ich hab jetzt aber nicht den Vergleich mit dem alten modprobe. Da dabei modprobe rekursiv aufgerufen wird (und jedesmal die config liest?) *uii* Aehm, jedenfalls: ein "above" / "below" sollte sich einbauen lassen. Oder man jagt eine modprobe.conf.in (oder so) durch ein gawk-script, das aus above/below die entsprechenden Zeilen generiert: ==== modprobe.conf.in ==== above scsi_mod aic7xxx ide-scsi below sg ide-scsi scanner ==== ==== ./modprobe_gen < ./modprobe.conf.in ==== ### above scsi_mod aic7xxx ide-scsi install scsi_mod /sbin/modprobe --ignore-install scsi_mod && {\ /sbin/modprobe aic7xxx;\ /sbin/modprobe ide-scsi;\ } remove scsi_mod {\ /sbin/modprobe --remove aic7xxx;\ /sbin/modprobe --remove ide-scsi;\ }; /sbin/modprobe --remove --ignore-remove scsi_mod; ### below sg ide-scsi scanner install sg {\ /sbin/modprobe ide-scsi;\ /sbin/modprobe scanner;\ }; /sbin/modprobe --ignore-install sg remove sg /sbin/modprobe --remove --ignore-remove sg && {\ /sbin/modprobe --remove ide-scsi;\ /sbin/modprobe --remove scanner;\ } ==== pre-install usw. liessen sich auch umsetzen. Bitte sagt Bescheid, wenn's Interesse an dem Script gibt.
[...Noch irgendeine Idee?...]
Momentan leider nicht. Frag mal David :-)
Aeh? Wie? Watt? Woher soll isch dann datt wissen? Isch han' doch gar keijn 2.6 Keanel, unn USB han' isch ooch nit.
Abber Du hesch Ahnung von Module un so ... :-)
Aso ;) -dnh -- If you haven't got time to RTFM, you haven't got time to whine on this mailing list.
participants (3)
-
Christof Schlund
-
David Haller
-
Thomas Hertweck