setserial - uruchomienie karty pci z portami com rs232

Wszystko związane z jądrem systemowym, sterownikami, sprzętem itp.
salo5
Posty: 18
Rejestracja: 24 czerwca 2009, 01:55

setserial - uruchomienie karty pci z portami com rs232

Post autor: salo5 »

Witam.

No początku napiszę, że jestem zielony więc proszę wybaczyć ewentualne błędy.

Posiadam komputer, na którym zainstalowałem Debiana, ostatnia wersję stabilną. Do komputera dołożyłem kartę PCI z 6 portami COM. Niestety, Debian sam nie skonfigurował tej karty. Więc poleceniem:

Kod: Zaznacz cały

apt-get install setserial
zainstalowałem pakiet.

Teraz po wykonaniu polecenia:

Kod: Zaznacz cały

lspci -v
dostaję:

Kod: Zaznacz cały

00:06.0 Serial controller: NetMos Technology Device 8845 (rev 01) (prog-if 02 [16550])
        Subsystem: LSI Logic / Symbios Logic Device 0006
        Flags: medium devsel, IRQ 5
        I/O ports at 9000 [size=200]
        I/O ports at 9400 [size=200]
        I/O ports at 9800 [size=200]
        I/O ports at 9c00 [size=200]
        I/O ports at a000 [size=200]
        I/O ports at a400 [size=200]
        Kernel driver in use: serial
Próbuję dalej czyli podpinam sobie port COM I/O ports at 9000 pod /dev/ttyS2 poleceniem:

Kod: Zaznacz cały

setserial /dev/ttyS2 port 9000 UART 16550A irq 5 Baud_base 115200
a następnie podpinam port COM I/O ports at 9400 pod /dev/ttyS3 poleceniem:

Kod: Zaznacz cały

setserial /dev/ttyS3 port 9400 UART 16550A irq 5 Baud_base 115200
I wygląda, że wszystko jest w porządku bo po wykonaniu polecenia:

Kod: Zaznacz cały

setserial devttyS2 -a
otrzymuję:

Kod: Zaznacz cały

ttyS2, Line 2, UART: 16550A, Port: 0x2328, IRQ: 5
        Baud_base: 115200, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_normal skip_test
a po wykonaniu polecenia:

Kod: Zaznacz cały

setserial devttyS3 -a
otrzymuję:

Kod: Zaznacz cały

ttyS3, Line 3, UART: 16550A, Port: 0x24b8, IRQ: 5
        Baud_base: 115200, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_normal
To dopiero początek.

Teraz chciałbym dodać sobie nowy port COM, bo karta ma ich 6. Wykonuję polecenie:

Kod: Zaznacz cały

mknod /dev/ttyS4 C 4 64
i otrzymuję:

Kod: Zaznacz cały

mknod: błędne typ urządzenia `C'
Spróbuj `mknod --help' dla uzyskania informacji.
Zmiana typu urządzenia z C na B, U lub P nic nie dała.

Tutaj moje pierwsze pytanie:
  1. Jak dodać nowy port COM? Może coś źle robię, ale nie wiem gdzie szukać punktu zaczepienia.
Drugi problem jest następujący,
po restarcie porty ttyS2 i ttyS3 mają takie dane:

Kod: Zaznacz cały

setserial /dev/ttyS2 -a
/dev/ttyS2, Line 2, UART: unknown, Port: 0xa400, IRQ: 5
        Baud_base: 115200, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_normal skip_test

Kod: Zaznacz cały

/dev/ttyS3 -a
/dev/ttyS3, Line 3, UART: unknown, Port: 0x02e8, IRQ: 3
        Baud_base: 115200, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_normal
Czyli port ttyS3 automatycznie wraca do jakiegoś ustawienia sprzed ustawiania z palca setserialem.

I tutaj kolejne pytanie.
  1. Jak zrobić, żeby na stałe przy starcie, ustawienie dla ttyS3 było takie jak przed restartem?
Czy napisać jakiś skrypt, który by robił na starcie to co robiłem wcześniej z klawiatury?

Nie mam pojęcia jak się za to zabrać?

Gdyby toś okazał się pomocny byłbym wdzięczny.

Z góry dziękuję za odpowiedzi.
Pozdrawiam.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

salo5 pisze:mknod /dev/ttyS4 C 4 64
Powinno być "małe c":

Kod: Zaznacz cały

mknod /dev/ttyS4 c 4 64
salo5
Posty: 18
Rejestracja: 24 czerwca 2009, 01:55

Post autor: salo5 »

lessmian2 pisze:
salo5 pisze:mknod /dev/ttyS4 C 4 64
Powinno być "małe c":

Kod: Zaznacz cały

mknod /dev/ttyS4 c 4 64
Myslalem, że to jakiś bląd przy instalacji, więc jeszcze raz instaluje debiana.
Jak będzie nowy to spróbuję.

A da rady cos zrobić z portami COM?
I ta kartą, żeby było wykrywane od razu?
ODPOWIEDZ