ISA-Modem

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
becher
Beiträge: 16
Registriert: 04.08.2007 17:52:11

ISA-Modem

Beitrag von becher » 25.11.2007 16:59:42

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.

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 25.11.2007 17:39:37

hi,

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
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.
Beware of programmers who carry screwdrivers.

becher
Beiträge: 16
Registriert: 04.08.2007 17:52:11

ISA-Modem

Beitrag von becher » 25.11.2007 23:11:01

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

Code: Alles auswählen

setserial -g /dev/ttyS* 
gibt aus (ich schreib das jetzt mal aus dem Gedächtnis auf):

Code: Alles auswählen

/dev/ttyS0 IRQ4 
/dev/ttyS1 IRQ3
/dev/ttyS2 IRQ4
/dev/ttyS3 IRQ3
Das ist soweit ich weiß der Standard.

Ein

Code: Alles auswählen

setserial /dev/ttyS2 auto_irq skip_test autoconfig
, wie im Modemhowto beschrieben, ändert überhaut nichts.

Ich hatte versucht den IRQ per Hand zu setzen

Code: Alles auswählen

setserial /dev/ttyS2 irq 5
usw. Mit minicom bin ich nicht klargekommen, also habe ich einfach wvdial mit den verschiedensten ttyS*

Code: Alles auswählen

ln -s /dev/ttYS2 /dev/modem
und IRQs getestet. Immer kommt die Ausgabe

Code: Alles auswählen

can't find device /dev/modem


statserial und picocom werde ich mal testen, ebenso Fotos machen.

becher
Beiträge: 16
Registriert: 04.08.2007 17:52:11

ISA-Modem

Beitrag von becher » 02.12.2007 14:07:06

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?

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 02.12.2007 16:52:48

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:

Code: Alles auswählen

# modprobe 8250_pnp
# dmesg | tail
# egrep -i 'tty|ser|pnp' /var/log/dmesg
Beware of programmers who carry screwdrivers.

becher
Beiträge: 16
Registriert: 04.08.2007 17:52:11

Beitrag von becher » 03.12.2007 22:04:24

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

Code: Alles auswählen

egrep -i 'tty|ser|pnp' /var/log/dmesg
folgendes:

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.
Was lerne ich jetzt daraus?

becher
Beiträge: 16
Registriert: 04.08.2007 17:52:11

Rockwell ist glaube ich besser

Beitrag von becher » 09.12.2007 01:56:55

Code: Alles auswählen

insmod 8250_pnp
geht nicht, da 8250_pnp fest in den Debiankernel eingebaut ist, wie ich heute nach Studium der .config festgestellt habe. Heute hatte ich noch mal das Motorolamodem eingebaut es wird mit

Code: Alles auswählen

egrep -i 'tty|ser|pnp' /var/log/dmesg
nicht gefunden. Das Rockwellmodem wurde gefunden, wie man meinem letzten Posting entnehmen kann. Aber welche IRQ und welchen ttyS* hat es? Wie erstelle ich ein ttyS4? Vielleicht ist das Modem ja hier und kann bloß nicht angesprochen werden weil die Devicedatei nicht existiert?

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 09.12.2007 13:08:33

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*:

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
wenn eins fehlt, kannst du es so anlegen, z.B. S2:

Code: Alles auswählen

# cd /dev
# mknod -m 660 ttyS2 c 4 66
# chgrp dialout ttyS2
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)?
Beware of programmers who carry screwdrivers.

becher
Beiträge: 16
Registriert: 04.08.2007 17:52:11

ISA Plug and pray

Beitrag von becher » 09.12.2007 15:22:48

Ich werde aus der Ausgabe von

Code: Alles auswählen

egrep -i 'tty|ser|pnp' /var/log/dmesg
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

Code: Alles auswählen

egrep -i 'tty|ser|pnp' /var/log/dmesg
finden?

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: ISA Plug and pray

Beitrag von cosmac » 09.12.2007 15:58:32

becher hat geschrieben:Welches ttyS* hat der Treiber denn dem Modem zugeordnet?
Bis gerade eben hätte ich gesagt: keins, weil ein aktueller PC
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.
becher hat geschrieben:Kann ich das irgendwo in der Ausgabe von

Code: Alles auswählen

egrep -i 'tty|ser|pnp' /var/log/dmesg
finden?
da steht drin, dass der Treiber 2 UARTs gefunden hat. Ob die
zu normalen COM-Ports, zum Modem oder zur Soundkarte
gehören, seh' ich da nicht.
Beware of programmers who carry screwdrivers.

becher
Beiträge: 16
Registriert: 04.08.2007 17:52:11

pnputils und PNP-howto

Beitrag von becher » 11.12.2007 01:08:05

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.

becher
Beiträge: 16
Registriert: 04.08.2007 17:52:11

Nischt lööft!

Beitrag von becher » 16.12.2007 01:16:46

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

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
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.

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von habakug » 16.12.2007 12:55:37

Hallo!

Installiere diese Tools:

Code: Alles auswählen

apt-get install pnputils
und poste den Output von

Code: Alles auswählen

lspnp -v
Gruß, habakug

edit:
Die "pnpbios-tools" werden von "pnputils" ersetzt.

becher
Beiträge: 16
Registriert: 04.08.2007 17:52:11

lspnp -v

Beitrag von becher » 16.12.2007 14:10:22

Der Output von

Code: Alles auswählen

lspnp -v
ist in meinem letzten Posting. Die folgenden Zeilen beziehen sich auf das Modem

Code: Alles auswählen

01:02.00 GVC0303 (unknown)
    state = disabled 

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von habakug » 16.12.2007 16:01:28

Hallo!

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
Gruß, habakug

becher
Beiträge: 16
Registriert: 04.08.2007 17:52:11

setmodem.exe

Beitrag von becher » 19.12.2007 10:05:24

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

Code: Alles auswählen

lspnp -v
die Soundkarte. Das Ergebnis ist immer noch:

Code: Alles auswählen

lspnp -v
...
01:02.00 GVC0303 (unknown)
    state = disabled
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.

becher
Beiträge: 16
Registriert: 04.08.2007 17:52:11

Gelöst

Beitrag von becher » 25.02.2008 00:47:54

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.

Antworten