PCI Parport Karte streikt nach BIOS Update
Jan Seiffert
kaffeemonster at googlemail.com
Sun Jan 23 22:56:47 CET 2011
Am 23. Januar 2011 17:59 schrieb Stefan U. Hegner <stefan at hegner-online.de>:
> Moinsen,
>
> habe mal wieder eine Parport-Krise. Hatte die Tage bei meinem
> Home-Server etwas Hardware aufgerüstet (Ram, Platte) und in diesem Zuge
> das Bios geflasht ... aber: Seit dem will die PCI-Parport Karte nicht
> mehr ... also doch: Never touch a running system!
>
> lspci -vv liefert mir für die Karte:
> 03:03.0 Bridge: NetMos Technology PCI 9815 Multi-I/O Controller (rev 01)
> Subsystem: LSI Logic / Symbios Logic 2P0S (2 port parallel adaptor)
> Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop-
> ParErr- Stepping- SERR+ FastB2B- DisINTx-
> Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
> <TAbort- <MAbort- >SERR- <PERR+ INTx-
> Interrupt: pin A routed to IRQ 52
> Region 0: I/O ports at 3050 [size=8]
> Region 1: I/O ports at 3048 [size=8]
> Region 2: I/O ports at 3040 [size=8]
> Region 3: I/O ports at 3038 [size=8]
> Region 4: I/O ports at 3030 [size=8]
> Region 5: I/O ports at 3020 [size=16]
> Kernel modules: parport_pc
>
Yo.
Hat der Rechner irgendwelche onboard Parports?
Ich denke das BIOS-Update hat den Code kaputt gemacht der "nicht
onboard" legacy Schnittstellen dahin mappt wo man sie normalerweise
erwartet. Oder sie werden nicht mehr ins PnP/ACPI eingetragen. Oder
dass das legacy decode flag wird nicht angemacht wenn legacy
schnittstellen eingesteckt werden.
Ist aber auch eigentlich kein Problem.
Es sei den der Chip is nen bischen doof und kann eigentlich nichts
anderes als ISA... (der Trick heist dann "legacy decode" AFAIK, das
alte ISA-Port Adressen auch auf dem PCI-Bus angelegt werden obwohl sie
nicht im Bus-Window eingetragen sind, ob da was antwortet)
kannst du mal nen lspci -vvx von dem Ding geben?
Und wie sind die Bridges davor eingestellt.. nehm ich jetzt das dmesg
oder einen lspci...
> Wenn ich nun keine Optionen in der /etc/modprobe.d/arch-aliases
> eintrage, bekomme ich in dmesg:
>
> parport_pc 0000:03:03.0: PCI INT A -> GSI 52 (level, low) -> IRQ 52
>
> Aber in /proc/sys/dev/parport/ habe ich nur im Verzeichnis default
> Einträge für spintime und timeslice aber keine Ports.
>
> Gebe ich nun die Port-Adressen gem. lspci mit, etwa:
>
> $modprobe parport_pc io=0x3050,0x3040 irq=7,5
>
Dein IRQ saugt...
Und wo ist denn das Problem wenn du nix eintraegst?
Das da irgendwo in /sys was fehlt?
Sind denn die Device nodes da?
Kannst lp laden und tut das? Kanns du ppdev laden?
Kannst du sie oeffnen?
Ich denke der parport_pc treiber macht selbst einen test ob er es den
Port ansprechen kann.
Und da sollte erstmal noch ein Print vorher kommen. Da das Ja
anscheinen (Nagut, ist KERN_DEBUG, muss ma da noch am Kernel denn
Filterwert runterstellen damit es im dmesg landet?) fehlt.
Hmmm, keine ahnung, dann muss schon vorher was schief gegangen sein.
Muss irgendwas hiervon sein:
err = pci_enable_device(dev);
if (err)
return err;
data = kmalloc(sizeof(struct pci_parport_data), GFP_KERNEL);
if (!data)
return -ENOMEM;
Irgendwie sollte das gehen.
Wobei wenn ich den Kommentar seh:
/* The netmos entries below are untested */
hmmm
> irritiert mich die dmesg Ausgabe:
>
> parport 0x3050 (WARNING): CTR: wrote 0x0c, read 0xff
> parport 0x3050 (WARNING): DATA: wrote 0xaa, read 0xff
> parport 0x3050: You gave this address, but there is probably no
> parallel port there!
> parport0: PC-style at 0x3050, irq 7 [PCSPP,TRISTATE]
> lp0: using parport0 (interrupt-driven).
> parport 0x3040 (WARNING): CTR: wrote 0x0c, read 0xff
> parport 0x3040 (WARNING): DATA: wrote 0xaa, read 0xff
> parport 0x3040: You gave this address, but there is probably no
> parallel port there!
> parport1: PC-style at 0x3040, irq 0 [PCSPP,TRISTATE]
> parport1: irq 0 in use, resorting to polled operation
> lp1: using parport1 (polling).
>
> Warum findet er an der Adresse keinen Parallelport?
Weil entweder der Chip luegt und er das nicht kann oder weil der Bus
nicht richtig eingestellt ist.
Wiegesagt gib mal nen lspci -vvx, ich hab das Datenblatt gefunden, mal
sehen auf was das Ding wirklich programmiert ist.
> Wieso wir IRQ 5 (ist frei) für den zweiten Port nicht übernommen?
Weil deine IRQ Angabe sowieso voll Bannane ist. 5 & 7 ist es nur bei
legacy. Das sitzt jetzt grad an PCI-Int A, der auf GSI 57 mappt.
[snip]
>
> Wir bringe ich meinen Parport wieder dazu, nett zu mir zu sein? - Any hints?
>
Biete ihm Blackjack und ....
> Danke!
>
> Stefan.
>
Gruss
Jan
--
Murphy's Law of Combat
Rule #3: "Never forget that your weapon was manufactured by the
lowest bidder"
More information about the Linux
mailing list