Ubuntu – How to log in to Ubuntu using a USB serial port

consolers232serial portUbuntuusb

How can I enable remote terminal log in into Ubuntu 9.10 (Karmic Koala) using a USB serial port?

I created device /dev/ttyUSB0, and I want to allow logins using HyperTerminal.

I found some resources, but they are related to real hardware RS-232 ports. I can't find any information about a USB converter.

So far I have established connection between that USB-serial port and my laptop. I can send text to the port (cp sometext.txt /dev/ttyUSB0) and read it using HyperTerminal.

What do I need to do to enable logins on this port?

Best Answer

See the Ubuntu Serial Console HowTo. You'll need to adapt it for your hardware -- instead of ttyS0, which is the first hardware serial port, you'll need to use ttyUSB0. An example of this is below.


At minimum, you need to configure upstart to start a getty on that port.

  1. Create /etc/init/ttyUSB0.conf and paste the following into it:

    # ttyUSB0 - getty on USB serial port
    #
    # This service maintains a getty on ttyUSB0 from the point the system is
    # started until it is shut down again.
    
    start on stopped rc RUNLEVEL=[2345]
    stop on runlevel [!2345]
    
    respawn
    exec /sbin/getty -L 115200 ttyUSB0 vt102
    
  2. Start the getty:

    sudo start ttyUSB0
    

Older Ubuntu versions and distributions that don't use upstart do this by adding a line in /etc/inittab.

This doesn't consider changes to the bootloader configuration to allow Grub to talk to the serial port; refer to the HowTo for details. I'm not sure if Grub can talk to a USB serial port or if that's limited to hardware ports.

Related Question