ISA-Modem
ISA-Modem
Ich möchte in meinen etwas veralteten Rechner von 1997 ein ISA-Modem einbauen. Ich habe hier zwei ISA-PnP-Modems, eins von Motorola und eins von Rockwell, der Verkäufer hat gesagt, dass beide mit Linux funktionieren, und ich könnte beide testen, weil er sie ohnehin wegschmeißen würde. Leider funktionieren beide nicht. Das BIOS erkennt beide Modems, es wird sehr kurz eine Zeile mit dem jeweils eingebauten ISA-Modem angezeigt bevor Grub startet.
Wie kriege ich jetzt raus, welchen IRQ und ttyS das Modem hat?
Brauche ich setserial?
Unterstützt der aktuelle Kernel überhaupt noch ISA-Modems?
Ach so, auf dem Rechner gibt es kein Windows nur Debian. Ich kann also nicht prüfen, ob die Modems unter Windows gehen.
Wie kriege ich jetzt raus, welchen IRQ und ttyS das Modem hat?
Brauche ich setserial?
Unterstützt der aktuelle Kernel überhaupt noch ISA-Modems?
Ach so, auf dem Rechner gibt es kein Windows nur Debian. Ich kann also nicht prüfen, ob die Modems unter Windows gehen.
hi,
welchen Kernel (selbstgebaut?) und welche Distribution benutzt du denn?
Was der Kernel von sich aus findet, sieht man so:
Wenn's keine Umstände macht, könntest du Fotos von den Karten hier
verlinken; vielleicht kennt die jemand.
Falls wir überhaupt ein ttyS finden, sind setserial, statserial und picocom
wertvolle Werkzeuge.
welchen Kernel (selbstgebaut?) und welche Distribution benutzt du denn?
Was der Kernel von sich aus findet, sieht man so:
Code: Alles auswählen
egrep -i 'tty|ser|pnp' /var/log/dmesg
verlinken; vielleicht kennt die jemand.
Falls wir überhaupt ein ttyS finden, sind setserial, statserial und picocom
wertvolle Werkzeuge.
Beware of programmers who carry screwdrivers.
ISA-Modem
Der Rechner steht zur Zeit ein bisschen weit weg und hat (noch) keinen Internetanschluss. Es ist Debian/Lenny installiert. Den Kernel habe ich selbstgebaut, aber eigentlich habe ich nur den Permediaframebuffer aktiviert, ACPI abgeschaltet und APM eingeschaltet.
Die Ausgabe von egrep kann ich erst später testen gibt aus (ich schreib das jetzt mal aus dem Gedächtnis auf):
Das ist soweit ich weiß der Standard.
Ein, wie im Modemhowto beschrieben, ändert überhaut nichts.
Ich hatte versucht den IRQ per Hand zu setzen usw. Mit minicom bin ich nicht klargekommen, also habe ich einfach wvdial mit den verschiedensten ttyS* und IRQs getestet. Immer kommt die Ausgabe
statserial und picocom werde ich mal testen, ebenso Fotos machen.
Die Ausgabe von egrep kann ich erst später testen
Code: Alles auswählen
setserial -g /dev/ttyS*
Code: Alles auswählen
/dev/ttyS0 IRQ4
/dev/ttyS1 IRQ3
/dev/ttyS2 IRQ4
/dev/ttyS3 IRQ3
Ein
Code: Alles auswählen
setserial /dev/ttyS2 auto_irq skip_test autoconfig
Ich hatte versucht den IRQ per Hand zu setzen
Code: Alles auswählen
setserial /dev/ttyS2 irq 5
Code: Alles auswählen
ln -s /dev/ttYS2 /dev/modem
Code: Alles auswählen
can't find device /dev/modem
statserial und picocom werde ich mal testen, ebenso Fotos machen.
ISA-Modem
Fotos von den beiden Karten sind jetzt auf http://www.flickr.com/photos/21447899@N07/. Die Bezeichnungen, die vom BIOS angezeigt werden, sind:
Motorola VoiceSURFR 33.6 Internal
Rockwell V.34 Plug&Play Modem
Ich habe jetzt einen original Debian-Kernel installiert 2.6.22-2-486.
Weiß jemand, ob Linux wenigstens eine der Karten unterstützt?
Motorola VoiceSURFR 33.6 Internal
Rockwell V.34 Plug&Play Modem
Ich habe jetzt einen original Debian-Kernel installiert 2.6.22-2-486.
Weiß jemand, ob Linux wenigstens eine der Karten unterstützt?
hi,
mit etwas Glück unterstützt das Modul 8250_pnp das Motorola-Modem.
Dazu muß aber der isapnp-Mechanismus funktionieren. Normal ist ja
bei Debian alles eingeschaltet und vorkonfiguriert, aber...
Notfalls solltest du ein neues Thema dazu aufmachen, ich hab' noch
nie isapnp-Hardware gehabt.
Vielleicht kommt dabei was raus:
mit etwas Glück unterstützt das Modul 8250_pnp das Motorola-Modem.
Dazu muß aber der isapnp-Mechanismus funktionieren. Normal ist ja
bei Debian alles eingeschaltet und vorkonfiguriert, aber...
Notfalls solltest du ein neues Thema dazu aufmachen, ich hab' noch
nie isapnp-Hardware gehabt.
Vielleicht kommt dabei was raus:
Code: Alles auswählen
# modprobe 8250_pnp
# dmesg | tail
# egrep -i 'tty|ser|pnp' /var/log/dmesg
Beware of programmers who carry screwdrivers.
Erst mal danke für deinen Hinweis. Ich werde das mal in ein paar Tagen testen. Wie kommst du auf das 8250_pnp-Modul? Ich hatte jetzt erst mal das Rockwell-Modem eingebaut. Mit dem Motorola verstummt meine Soundkarte immer. Vor 10 Jahren hatte ich auch ein Rockwell-ISA-Modem, ich weiß nicht ob es das gleiche war, aber es wurde unter SuSE 6.0 oder was das damals war problemlos erkannt. Mit dem Rockwellmodem ergibt
folgendes:
Was lerne ich jetzt daraus?
Code: Alles auswählen
egrep -i 'tty|ser|pnp' /var/log/dmesg
Code: Alles auswählen
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
DMA zone: 0 pages reserved
Memory: 184884k/196608k available (1657k kernel code, 11228k reserved, 649k data, 316k init, 0k highmem)
pnp: PnP ACPI: disabled
PnPBIOS: Scanning system for PnP BIOS support...
PnPBIOS: Found PnP BIOS installation structure at 0xc00fc0b0
PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xc0d8, dseg 0xf0000
PnPBIOS: 14 nodes reported by PnP BIOS; 14 recorded by driver
pnp: 00:07: iomem range 0xe0000-0xfffff could not be reserved
pnp: 00:07: iomem range 0x0-0x9ffff could not be reserved
pnp: 00:07: iomem range 0xfffe0000-0xffffffff could not be reserved
pnp: 00:07: iomem range 0x100000-0xbffffff could not be reserved
pnp: 00:09: ioport range 0x208-0x20f has been reserved
isapnp: Scanning for PnP cards...
isapnp: Card 'OPTi Audio 16'
isapnp: Card 'Rockwell V.34 Plug & Play Modem'
isapnp: 2 Plug & Play cards detected total
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0d: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
PNP: PS/2 Controller [PNP0303] at 0x60,0x64 irq 1
PNP: PS/2 controller doesn't have AUX irq; using default 12
serio: i8042 KBD port at 0x60,0x64 irq 1
input: Cypress Sem PS2/USB Browser Combo Mouse as /class/input/input1
input: USB HID v1.00 Mouse [Cypress Sem PS2/USB Browser Combo Mouse] on usb-0000:00:0b.1-1
tveeprom 0-0050: Hauppauge model 44354, rev B121, serial# 2203306
pnp: Device 01:01.02 activated.
gameport: NS558 PnP Gameport is pnp01:01.02/gameport0, io 0x200, speed 864kHz
pnp: Device 01:01.01 activated.
pnp: Device 01:01.03 activated.
Rockwell ist glaube ich besser
Code: Alles auswählen
insmod 8250_pnp
Code: Alles auswählen
egrep -i 'tty|ser|pnp' /var/log/dmesg
mahlzeit!
na immerhin, bleiben wir eben beim Rockwell. Der IRQ ist erstmal
das kleinere Problem, normal wird der automatisch vergeben.
Normalerweise gibt es diese /dev/ttyS*:
wenn eins fehlt, kannst du es so anlegen, z.B. S2:
Woher hast du die Idee mit ttyS4, gibt's einen Link? Ich dachte,
der Treiber kann nur S0 bis S3 (außer mit spezieller Kernel-config)?
na immerhin, bleiben wir eben beim Rockwell. Der IRQ ist erstmal
das kleinere Problem, normal wird der automatisch vergeben.
Normalerweise gibt es diese /dev/ttyS*:
Code: Alles auswählen
# ls -l /dev/ttyS*
crw-rw---- 1 root dialout 4, 64 Feb 17 2007 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 Feb 17 2007 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 Feb 17 2007 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 Feb 17 2007 /dev/ttyS3
crw-rw---- 1 root dialout 4, 68 Feb 17 2007 /dev/ttyS4
Code: Alles auswählen
# cd /dev
# mknod -m 660 ttyS2 c 4 66
# chgrp dialout ttyS2
der Treiber kann nur S0 bis S3 (außer mit spezieller Kernel-config)?
Beware of programmers who carry screwdrivers.
ISA Plug and pray
Ich werde aus der Ausgabe von noch nicht so richtig schlau. Welches ttyS* hat der Treiber denn dem Modem zugeordnet? Irgendwo habe ich gelesen, dass ISA-Modems einen eigenen unbenutzten IRQ benötigen, also IRQ-Sharing geht nicht. Macht der Treiber das?
wvdial sagt bei ttyS2 und ttyS3 immer noch, dass kein Gerät vorhanden ist. Bei ttyS0 und S1 versucht wvdial zu wählen, und bekommt keine Antwort, ich vermute mal, dass das meine serielle Schnittstelle und die Soundkarte sind. Kann ich das irgendwo in der Ausgabe von finden?
Code: Alles auswählen
egrep -i 'tty|ser|pnp' /var/log/dmesg
wvdial sagt bei ttyS2 und ttyS3 immer noch, dass kein Gerät vorhanden ist. Bei ttyS0 und S1 versucht wvdial zu wählen, und bekommt keine Antwort, ich vermute mal, dass das meine serielle Schnittstelle und die Soundkarte sind. Kann ich das irgendwo in der Ausgabe von
Code: Alles auswählen
egrep -i 'tty|ser|pnp' /var/log/dmesg
Re: ISA Plug and pray
Bis gerade eben hätte ich gesagt: keins, weil ein aktueller PCbecher hat geschrieben:Welches ttyS* hat der Treiber denn dem Modem zugeordnet?
zwei COM-Ports hat und die ttyS0 und ttyS1 zugeordnet sind.
Es könnte aber sein, dass nur ein normaler Port drin ist und
das Modem ttyS1 ist. Kann man evt. im BIOS die normalen
COM-Ports abschalten? Wenn es eine eigene COM-Port-Karte
gibt, könnte man die ausbauen. Ebenso alle anderen Karten,
die stören könnten, das würde diese Frage klären:
becher hat geschrieben:ich vermute mal, dass das meine serielle Schnittstelle und die Soundkarte sind.
da steht drin, dass der Treiber 2 UARTs gefunden hat. Ob diebecher hat geschrieben:Kann ich das irgendwo in der Ausgabe vonfinden?Code: Alles auswählen
egrep -i 'tty|ser|pnp' /var/log/dmesg
zu normalen COM-Ports, zum Modem oder zur Soundkarte
gehören, seh' ich da nicht.
Beware of programmers who carry screwdrivers.
pnputils und PNP-howto
Ich habe heute mal im aptitude einfach nach pnp gesucht, und siehe da es gibt ein Paket pnptools mit den Programmen lspnp und setpnp. Das werde ich am Wochenende gleich mal testen. Bisher hatte ich immer nach den isapnptools gesucht, die in allen Anleitungen für Kernel 2.4 und 2.2 erwähnt wurden, die es aber in Lenny nicht mehr gibt. Außerdem habe ich ein unter http://tldp.org/HOWTO/Plug-and-Play-HOWTO.html ein aktuelles PnP-Howto gefunden, wo z.B. auch auf Bioseinstellungen und ISAPnP mit Kernel 2.6 eingegangen wird.
Nischt lööft!
Nun habe ich gedacht, ich habe alles verstanden, aber mein ISA-Modem läuft immer noch nicht. Ich habe heute nach PnP-Howto folgende Einstellungen im Bios gemacht: NoPnP OS und automatische Erkennung der IRQs. Anschließend gab lspnp -v mit Rockwell-Modem folgendes aus
Ich habe keine Ahnung wie ich den GVC0303 nun aktivieren kann. Ich habe serielle Ports und Parallelports im Bios abgeschaltet, es wurde dem Modem keine IRQ zugeordnet. Setpnp habe icgh ausprobiert, es akzeptiert aber nur die PCI-Devices, also die mit 00: anfangen, keine Ahnung wie ich die ISA-Devices angebe. Im Übrigen habe ich noch eine interessante Entdeckung gemacht. Meine ISA-Soundkarte ist als nicht PnP gejumpert, wenn ich sie als PnP jumpere wird sie niocht mehr erkannt. Wahrscheinlich wurde dort vor 10 Jahren mit irgendeiner DOS-Diskette mal die Einstellung gemacht, dass sie die IRQ 5 hat, und deswegen funktioniert sie. Da das Modem PnP ist und nur einen unbeschrifteten Jumper hat (den ich auch schonmal entfernt habe), geht es einfach nicht.
Das Motorola-Modem hat 5 Jumpers, leider alle unbeschriftet, woher kriege ich ein Handbuch, vielleicht kann man das ja auf IRQ 7 jumpern, wo der Parallelport war, den ich im Bios abgeschaltet habe. Linux 2.6 ist vielleicht PnP aber ich habe immer mehr Zweifel, dass das für ISA gilt.
Code: Alles auswählen
00:00 PNP0000 AT programmable interrupt controller
state = active
io 0x20-0x21
io 0xa0-0xa1
irq 2
00:01 PNP0200 AT DMA controller
state = active
io 0x0-0xf
io 0x81-0x83
io 0x87-0x87
io 0x89-0x8b
io 0x8f-0x91
io 0xc0-0xdf
dma 4
00:02 PNP0100 AT system timer
state = active
io 0x40-0x43
irq 0
00:03 PNP0b00 AT real-time clock
state = active
io 0x70-0x71
irq 8
00:04 PNP0303 IBM enhanced keyboard (101/102-key, PS/2 mouse support)
state = active
io 0x60-0x60
io 0x64-0x64
irq 1
00:05 PNP0800 AT speaker
state = active
io 0x61-0x61
00:06 PNP0c04 Math coprocessor
state = active
io 0xf0-0xff
irq 13
00:07 PNP0c01 System board
state = active
mem 0xe0000-0xfffff
mem 0x0-0x9ffff
mem 0xfffe0000-0xffffffff
mem 0x100000-0xbffffff
00:08 PNP0a03 PCI bus
state = active
io 0x4d0-0x4d1
io 0xcf8-0xcff
io 0x480-0x48f
io 0x6100-0x613f
io 0x5f00-0x5f1f
00:09 PNP0c02 Motherboard resources
state = active
io 0x208-0x20f
00:0a PNP0501 16550A-compatible serial port
state = active
io 0x3f8-0x3ff
irq 4
00:0b PNP0700 PC standard floppy disk controller
state = active
io 0x3f2-0x3f5
irq 6
dma 2
00:0c PNP0400 Standard LPT printer port
state = active
io 0x378-0x37f
irq 7
00:0d PNP0501 16550A-compatible serial port
state = active
io 0x2f8-0x2ff
irq 3
01:01.00 OPTffff (unknown)
state = disabled
01:01.01 OPT9310 (unknown)
state = active
io 0x534-0x537
io 0x380-0x38b
io 0x220-0x22f
io 0xe0c-0xe0f
irq 5
dma 1
dma 3
01:01.02 OPT0001 (unknown)
state = active
io 0x200-0x200
01:01.03 OPT0002 (unknown)
state = active
io 0x300-0x301
irq 10
01:02.00 GVC0303 (unknown)
state = disabled
Das Motorola-Modem hat 5 Jumpers, leider alle unbeschriftet, woher kriege ich ein Handbuch, vielleicht kann man das ja auf IRQ 7 jumpern, wo der Parallelport war, den ich im Bios abgeschaltet habe. Linux 2.6 ist vielleicht PnP aber ich habe immer mehr Zweifel, dass das für ISA gilt.
- habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Hallo!
Installiere diese Tools:
und poste den Output von
Gruß, habakug
edit:
Die "pnpbios-tools" werden von "pnputils" ersetzt.
Installiere diese Tools:
Code: Alles auswählen
apt-get install pnputils
Code: Alles auswählen
lspnp -v
edit:
Die "pnpbios-tools" werden von "pnputils" ersetzt.
lspnp -v
Der Output von ist in meinem letzten Posting. Die folgenden Zeilen beziehen sich auf das Modem
Code: Alles auswählen
lspnp -v
Code: Alles auswählen
01:02.00 GVC0303 (unknown)
state = disabled
- habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Hallo!
Du solltest probieren ob das Modem korrekt erkannt wird, wenn die Soundkarte entfernt ist (physikalisch).
Interessant wäre auch die Ausgabe von
Gruß, habakug
Du solltest probieren ob das Modem korrekt erkannt wird, wenn die Soundkarte entfernt ist (physikalisch).
Interessant wäre auch die Ausgabe von
Code: Alles auswählen
egrep -i 'PnPBIOS' /var/log/dmesg
setmodem.exe
Bei dem Googlen nach GVC0303 bin ich auf die Win95-Treiber und ein Programm namens setmodem.exe gestoßen. Dieses habe ich auf eine DOS 6.22-Bootdiskette kopiert. Es findet mein Modem und ich kann IRQ und COM-Port für das Modem einstellen. Gleichzeitig wird die autoexec.bat der Bootdiskette geändert. Ich habe dann im BIOS die beiden seriellen Ports und den Parallelport abgestellt, dann habe ich nämlich IRQ4, IRQ3 und IRQ7 und COM1 bis COM4 zur freien Verfügung, auf IRQ5, dass allgemein für Modems empfohlen wird liegt ja laut
die Soundkarte. Das Ergebnis ist immer noch:
Ich habe dann setserial nochmal installiert, auch wenn ich glaube, dass das Programm für einen alten Kernel ist, da bei der Installation immer die Fehlermeldung kommt, das der Befehl update-modules depreciates sein soll. Setzen der IRQ und des COM-Ports mit setserial hat auch nichts gebracht.
Beim setpnp verstehe ich nicht, wie man es einsetzen soll, es akzeptiert nur PCI-Geräte, und auch bei denen werden keine Änderungen durchgeführt.
Das Ausbauen der Soundkarte hilft übrigens nicht.
Code: Alles auswählen
lspnp -v
Code: Alles auswählen
lspnp -v
...
01:02.00 GVC0303 (unknown)
state = disabled
Beim setpnp verstehe ich nicht, wie man es einsetzen soll, es akzeptiert nur PCI-Geräte, und auch bei denen werden keine Änderungen durchgeführt.
Das Ausbauen der Soundkarte hilft übrigens nicht.
Gelöst
Ich habe das Problem gelöst. Björn Helgaas, der Autor des Paketes pnputils hat mir den entscheidenden Hinweis gegeben. Zuerst sollte man sich vergewissern, kein Winmodem zu haben. Hier die Links mit den Infos zu meinem Modem:
http://www.modem-help.co.uk/Archtek/333 ... e-ISA.html
http://xmodem.org/modems/isa_list.html
Dann muss man mit lspnp -v aus den pnputils den Namen des ISA-Modems herausfinden, in meinem Falle GVC0303. Anschließend baut man seinen eigenenen Kernel, z.B. nach der Anweisung hier im Wiki. Vor dem Kompilieren, also nach dem Herunterladen der Quellen editiert man die Datei /usr/src/linux/drivers/serial/8250_pnp.c und fügt einfach sein Modem ein (die letzten beiden Zeilen sind von mir).
Code:
/* Archtek America Corp. */
/* Archtek SmartLink Modem 3334BT Plug & Play */
{ "GVC000F", 0 },
/* Archtek 3334BRV 33.6K Data/Fax/Voice ISA */
{ "GVC0303", 0 },
Kernel kompilieren, Rechner neustarten und schon läuft das Modem.
http://www.modem-help.co.uk/Archtek/333 ... e-ISA.html
http://xmodem.org/modems/isa_list.html
Dann muss man mit lspnp -v aus den pnputils den Namen des ISA-Modems herausfinden, in meinem Falle GVC0303. Anschließend baut man seinen eigenenen Kernel, z.B. nach der Anweisung hier im Wiki. Vor dem Kompilieren, also nach dem Herunterladen der Quellen editiert man die Datei /usr/src/linux/drivers/serial/8250_pnp.c und fügt einfach sein Modem ein (die letzten beiden Zeilen sind von mir).
Code:
/* Archtek America Corp. */
/* Archtek SmartLink Modem 3334BT Plug & Play */
{ "GVC000F", 0 },
/* Archtek 3334BRV 33.6K Data/Fax/Voice ISA */
{ "GVC0303", 0 },
Kernel kompilieren, Rechner neustarten und schon läuft das Modem.