Outils pour utilisateurs

Outils du site


issue60:linux_lab

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
issue60:linux_lab [2012/05/03 05:59] – créée fredphil91issue60:linux_lab [2012/05/10 20:33] (Version actuelle) d.grin
Ligne 1: Ligne 1:
 +**
 The old laptop I got from my dad features an RS-232 port. So, now that, technically, I had a client that I could test my RS-232 connection with, I ordered a null modem cable. The old laptop I got from my dad features an RS-232 port. So, now that, technically, I had a client that I could test my RS-232 connection with, I ordered a null modem cable.
  
Ligne 4: Ligne 5:
  
 Several of the programs referred to below must be installed from Software Center, Synaptic, or by using apt-get. Several of the programs referred to below must be installed from Software Center, Synaptic, or by using apt-get.
 +**
  
 +Le vieux portable que j'ai reçu de mon père dispose d'un connecteur RS-232. Donc, maintenant que, techniquement, j'avais un client avec lequel je pouvais tester ma connexion RS-232, j'ai commandé un câble « modem nul » (Null Modem).
 +
 +Il n'y a pas de sortie RS-232 sur mon ordinateur de bureau, mais il y a un connecteur sur la carte mère où une sortie RS-232 peut être fixée.  La sortie couvrira alors un slot PCI.
 +
 +Plusieurs des programmes mentionnés ci-dessous doivent être installés via la Logithèque, Synaptic, ou en utilisant apt-get.
 +
 +**
 Activating RS-232 Activating RS-232
  
Ligne 16: Ligne 25:
  
 cat /dev/ttyS0 cat /dev/ttyS0
 +**
  
 +Activation d'RS-232
 +
 +Ok, une fois que tous les câbles furent en place, j'ai essayé d'accéder aux deux ports RS-232 directement en lecture. Ils sont généralement nommés ttyS0 ou ttyS1, en fonction du port COM.
 +
 +On peut obtenir des informations à partir du fichier /proc/tty/driver/serial au sujet de la configuration du port série ou vous pouvez éventuellement taper :
 +
 +setserial -q /dev/ttyS0
 +
 +ce qui pourrait être utile. Habituellement, le type UART est 16550A sur un PC standard. Le mien ne fonctionnait cependant pas. Du moins pas dès le début, quand j'ai essayé de lire l'interface avec:
 +
 +cat /dev/ttyS0
 +
 +**
 I got the following error: I got the following error:
  
Ligne 24: Ligne 47:
  
 As a last action, I added myself to the uucp group, so I have user permission to the serial lines. It is not necessary for the terminal setup, but a good idea to do so, just for future projects, maybe. As a last action, I added myself to the uucp group, so I have user permission to the serial lines. It is not necessary for the terminal setup, but a good idea to do so, just for future projects, maybe.
 +**
  
 +J'ai eu l'erreur suivante:
 +
 +cat: /dev/ttyS0: Input/output error
 +
 +De toute évidence, le pilote n'a pas pu activer le matériel. La raison était qu'il avait été désactivé dans le BIOS. Après l'activation de RS-232 ici, cela a bien fonctionné.
 +
 +Enfin, je me suis ajouté au groupe uucp, obtenant ainsi l'autorisation d'utiliser les lignes série. Il n'est pas nécessaire pour pouvoir paramétrer le terminal, mais c'est une bonne idée de le faire, juste pour de futurs projets, peut-être.
 +
 +**
 Setting up a terminal Setting up a terminal
  
Ligne 40: Ligne 73:
  
 will make the system re-read /etc/inittab and apply changes. The agetty should now be listening on ttyS0 . will make the system re-read /etc/inittab and apply changes. The agetty should now be listening on ttyS0 .
 +**
  
 +Mise en place d'un terminal
 +
 +Une fois que la ligne série est configurée et fonctionne correctement, il est temps de faire fonctionner un terminal sur ce port. Voici ce que j'ai ajouté à mon /etc/inittab :
 +
 +s0:2345:respawn:/sbin/agetty -L 38400 ttyS0
 +
 +Je l'ai ajouté en haut de ce fichier, juste en dessous de la déclaration du « si », mingetty ne peut pas être utilisé pour les connexions série, il ne peut pas non plus être exécuté dans une console. Je l'ai essayé pour le tester, mais la console (avec votre programme de connexion) vous déconnectera, dès que vous vous connecterez sur votre ligne série.
 +
 +-L signifie que c'est une ligne locale, sans signal porteur. 38400 est la vitesse standard d'une console Linux ; elle pourrait être un peu élevée, m'a-t'on dit, mais elle fonctionne bien. J'ai aussi testé cela avec quelques valeurs plus élevées (115200) et cela a également fonctionné. Je suppose que ça dépend de certaines choses comme la longueur du câble, etc. Le dernier paramètre est le numéro de tty série à écouter. Le type de terminal peut être spécifié comme un paramètre supplémentaire à la fin de la liste des paramètres, vt102, par exemple. Cela est parfois nécessaire, en fonction du client.
 +
 +Après avoir terminé l'édition de /etc/inittab, taper :
 +
 +init q
 +
 +cela forcera le système à relire le fichier /etc/inittab et appliquer les modifications. Le agetty devrait maintenant être à l'écoute sur ttyS0.
 +
 +
 +**
 Setting up a client Setting up a client
  
Ligne 52: Ligne 104:
  
 Pretty self explanatory, I think. The --nostop option disables XON/XOFF handling. Pretty self explanatory, I think. The --nostop option disables XON/XOFF handling.
 +**
  
 +Mise en place d'un client
 +
 +Il est temps d'établir une connexion et de tester la ligne série. J'utilise un ordinateur portable doté d'un port RS-232, de sorte que certaines configurations préalables sont requises. J'ai essayé minicom comme un programme de terminal au départ, mais il s'est avéré ne pas être le meilleur client. Il tente d'initialiser le modem, cela dure assez longtemps, et il ne rend pas les couleurs ANSI. La meilleure option est donc cu, qui fait partie du paquet UUCP.
 +
 +Oh, et le port série de cet ordinateur doit aussi être accessible, bien sûr.
 +
 +Une fois que tout a été mis en place, j'ai créé la connexion :
 +
 +cu -l ttyS0 -38400 --nostop //[pour le scribeur : deux tirets avant nostop]//
 +
 +Assez explicite, je pense.  L'option --nostop désactive la prise en charge de XON/XOFF. //[idem]//
 +
 +**
 Root Access Over ttyS0 Root Access Over ttyS0
  
Ligne 64: Ligne 130:
  
 terminal --timeout=3 serial console terminal --timeout=3 serial console
 +**
  
 +Accès root par ttyS0
 +
 +Afin de devenir root sur le terminal de série, le tty doit être ajouté au fichier /etc/securetty. J'ai ajouté ttyS0 à la fin du fichier. Il est maintenant possible d'obtenir un accès root sur le terminal série. Le processus agetty doit être redémarré pour prendre en compte les modifications.
 +
 +Accès à GRUB par ttyS0
 +
 +Pour rendre l'accès possible au bootloader par ttyS0, certains changements dans /boot/grub/menu.lst doivent être fait. (GRUB est le bootloader que j'utilise, je suppose que LiLo a des fonctionnalités similaires). Voici les deux lignes que j'ai ajoutées à la partie supérieure de mon menu.lst:
 +
 +serial --unit=0 --speed=38400 --word=8 --parity=no --stop=1 //[Deux tirets avant unit, speed, word, parity et stop]//
 +
 +terminal --timeout=3 serial console //[Deux tirets avant timeout]//
 +
 +**
 The serial command initiates the serial terminal option, --unit=0 defines our first serial connector, in my case it's the only one I have on my machine. I used the standard Linux-Console speed, as well as the  The serial command initiates the serial terminal option, --unit=0 defines our first serial connector, in my case it's the only one I have on my machine. I used the standard Linux-Console speed, as well as the 
 "8N1" connection strategy. "8N1" connection strategy.
Ligne 71: Ligne 151:
  
 --timeout=3 enables a delay on both consoles, with a prompt for a keystroke. Depending on which terminal the key is pressed, this terminal will be used. If no key is pressed after the timeout, the standard console (in my case serial) will be used. --timeout=3 enables a delay on both consoles, with a prompt for a keystroke. Depending on which terminal the key is pressed, this terminal will be used. If no key is pressed after the timeout, the standard console (in my case serial) will be used.
 +**
 +
 +La commande serial initie l'option terminal série, --unit=0 //[deux tirets avant unit]// définit notre premier connecteur série, dans mon cas c'est le seul que j'ai sur ma machine.  J'ai utilisé la vitesse standard de la console Linux, ainsi que la stratégie de connexion « 8N1 ». 
 +
 +terminal définit la priorité des terminuax, le premier terminal (serial) est celui par défaut, le dernier est le terminal secondaire (console).
 +
 +--timeout=3 //[deux tirets]// permet un délai d'attente sur les deux consoles, avec une invite pour frapper une touche. Selon le terminal où la touche est enfoncée, ce terminal sera utilisé. Si aucune touche n'est actionnée après le délai d'attente, la console standard (dans mon cas serial) sera utilisée.
  
 +**
 Relaying Kernel Output on Boot Relaying Kernel Output on Boot
  
Ligne 85: Ligne 173:
  
 console=tty0 is the standard console located on the machine, i.e. monitor and keyboard. console=tty0 is the standard console located on the machine, i.e. monitor and keyboard.
 +**
 +
 +Retransmettre la sortie du noyau lors du boot
 +
 +Le noyau accepte plusieurs options de console, dont la dernière est la console standard, celle qui sera utilisée en mode mono-utilisateur. Voici mes options de noyau :
 +
 +title Fedora Core (2.6.20-1.2316.fc5)
 +
 +root (hd0,0)
 +
 +kernel /vmlinuz-2.6.20-1.2316.fc5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet vga=795 console=tty0 console=ttyS0,38400
 +
 +initrd /initrd-2.6.20-1.2316.fc5.img
 +
 +console=tty0 est la console standard située sur la machine, c.-à-d. le moniteur et le clavier.
  
issue60/linux_lab.1336017569.txt.gz · Dernière modification : 2012/05/03 05:59 de fredphil91