Faq freebsd - totul despre asta și programare

Pagina 56 din 65

11.1. Cum pot afla care porturi seriale au fost detectate de FreeBSD?

Când boot-ul kernel-ului FreeBSD va încerca să găsească porturi seriale, cu
a cărui susținere a fost compilată. Puteți să aruncați o privire mai atentă
la mesajele trimise sau executați comanda
% dmesg | grep sio

după încărcarea și pornirea sistemului.
Iată un exemplu de ieșire a comenzii specificate:
sio0 la 0x3f8-0x3ff irq 4 pe isa
sio0: tip 16550A
sio1 la 0x2f8-0x2ff irq 3 pe isa
sio1: tip 16550A

11.2. Cum pot afla modemurile interne detectate de FreeBSD?

Uită-te la răspunsul la întrebarea anterioară.

11.3. Tocmai am instalat 2.0.5 și nu am găsit niciun dispozitiv tty0X!

Nu vă faceți griji, au fost pur și simplu îmbinate cu dispozitivele ttydX. Va trebui
corectați fișierele de configurare pe care le-ați utilizat anterior.

11.4. Cum accesez porturile seriale pe FreeBSD?

Este numit cel de-al treilea port serial, sio2 (care se numește DOS în COM3)
/ dev / cuaa2 pentru dispozitivele care efectuează apeluri de ieșire și / dev / ttyd2 pentru
dispozitivele care primesc apelurile primite. Care este diferența dintre cele două
clase de dispozitive?
Trebuie să utilizați ttydX pentru conexiunile primite. Când deschideți / dev / ttydX în
blocare, procesul va aștepta inactivitatea corespunzătoare
dispozitiv cuaaX, și apoi apariția unui semnal despre prezența unui purtător. La deschidere
cuaaX, verifică dacă portul serial nu este
dispozitiv ttydX. Dacă portul este disponibil, acesta îl "fure" de dispozitivul ttydX.
De asemenea, dispozitivul cuaXX nu monitorizează prezența transportatorului. Cu o astfel de schemă de lucru și
modem în modul automat de răspuns, puteți permite utilizatorilor să
accesați sistemul și, în același timp, puteți efectua apeluri de ieșire și
sistemul va avea grijă de posibilele conflicte.

11.5. Cum se permit adaptoarele serial multiport?

Din nou, informațiile despre configurația kernel-ului sunt conținute în secțiune
a clarificat această întrebare. Pentru adaptoarele seriale multi-port într-un fișier
kernel configuration, puneți cuvântul cheie sio pentru fiecare port de pe adaptor.
Dar irq și vectorul trebuie să fie specificate doar pe un port. Toate porturile de pe adaptor
trebuie să utilizeze același irq. Utilizați ultimul serial
port pentru a specifica irq. Activează și opțiunea COM_MULTIPORT.
Următorul exemplu descrie adaptorul AST cu 4 porturi pentru irq 7:
opțiunile "COM_MULTIPORT"
dispozitiv sio4 la isa? port 0x2a0 tty steaguri 0x781
dispozitiv sio5 la isa? port 0x2a8 tty steaguri 0x781
dispozitiv sio6 la isa? port 0x2b0 tty steaguri 0x781
dispozitiv sio7 la isa? port 0x2b8 tty steaguri 0x781 irq 7 vector siointr

Steagurile indică faptul că portul de control are numărul minor de dispozitive 7 (0x700),
Diagnosticarea timpului de detectare (0x080) este activată și toate porturile folosesc una
și același irq (0x001).

11.6. Poate FreeBSD să utilizeze mai multe adaptoare multiport cu același irq?

Nu încă. Trebuie să atribuiți un dispozitiv irq unic pentru fiecare adaptor.

11.7. Pot seta modul implicit pentru port?

Aplicația dvs. poate necesita deschiderea dispozitivelor ttydX (sau cuaaX).
Când un proces deschide un dispozitiv, acesta are un set de parametri de intrare / ieșire. tu
Puteți vedea valorile lor cu comanda
# stty -a -f / dev / ttyd1

Când schimbați setările acestui dispozitiv, acestea funcționează până la închidere
dispozitiv. Când îl redeschideți, acesta va avea modurile de funcționare implicite.
Pentru a modifica setările implicite, puteți deschide și
Modificați setările în dispozitivul "stare inițială". De exemplu, pentru a face
modul implicit este modul CLOCAL, 8 biți și controlul fluxului XON / XOFF pentru
dispozitivul ttyd5, procedați în felul următor:
# stty -f / dev / ttyid5 clocal cs8 ixon ixoff

Pentru a efectua astfel de acțiuni, scriptul /etc/rc.serial este destinat. Acum cu
deschiderea dispozitivului aplicația ttyd5 va avea exact acest mod de operare cu
portuare. Este, totuși. poate schimba aceste moduri pe cont propriu.
Puteți împiedica aplicația să modifice anumite moduri de funcționare prin executare
setările dispozitivului "stare permanentă." De exemplu, pentru a face viteza
ttyd5 este constantă și egală cu 57600 bps, rulați
# stty -f / dev / ttyld5 57600

Acum, dacă aplicația deschide ttyd5 și încearcă să schimbe viteza de lucru
port, va fi totusi egal cu 57600 bps.
Firește, trebuie să faceți dispozitive de stări inițiale și constante
se poate scrie numai la utilizatorul rădăcină. Scriptul MAKEDEV când creați
Nu face acest lucru pentru fișierele de dispozitiv.

Procesul de instalare a portului scrie fiecare fișier port, inclusiv toate dependențele. De exemplu, multe porturi necesită o bibliotecă grafică PNG. Inserțiile portului indică versiunea exactă a bibliotecii PNG care este necesară, cum ar fi versiunea 1.0.11. În general, aceasta este aceeași versiune care este în arborele tău.

Scrierea CD-R / RW în FreeBSD nu a necesitat nicio setare specifică - tipul de emulare SCSI activat prin IDE (care până în prezent era necesar în Linux). Deși această abordare nu este interzisă, va permite utilizarea unui pachet de cdrtools și, cel mai important, a mai multor add-on-uri grafice.

Articole similare