Steve R. Brudenell
2004-Apr-02 18:04 UTC
[syslinux] Serial console with pxelinux on Soekris net4501
Hello, I have a Soekris net4501, which I'm PXE booting using pxelinux. Everything seems to be working splendidly, except for the fact that I can't seem to make pxelinux understand use the net4501's serial console port correctly. The net4501 uses the serial console as its primary interface; I'm using a null modem cable and minicom to operate with it. At boot, its startup messages go out over the serial console and everything works as it should, until the point where it gets to finding pxelinux.0 from my tftp server. As soon as the bios finds and loads it, I get garbage over minicom that looks like this: 3;01H3;97HP3;01HX3;01HE3;01HL3;01HI3;01HN3;01HU3;01HX3;01H 3;01H23;01H.3;01H03;HM I know it's finding pxelinux.0 and the configuration file corresponding to my machine (I've gone so far as to watch traffic with ethereal to determine this). It even finds my kernel image and boots it fine, although this seems to only be true because the config file has a short timeout. I have it configured to boot up automatically on a short timeout using the serial console, and that works fine. It would seem that this is a problem with speed or flow control, but I've been up and down the configuration to no avail. My tftp server (hpa's 0.34) looks like this: /tftpboot/pxelinux.0 ; pxelinux 2.09-pre13 /tftpboot/pxelinux.cfg/01-00-00-24-c1-c2-68 ; named by mac address /tftpboot/asmodean/bzImage ; vanilla 2.4.25, config for net4501 The configuration file looks like this: serial 0 9600 0x303 timeout 20 prompt 1 default asmodean/bzImage ip=dhcp root=/dev/nfs console=ttyS0,9600n81 DHCP (3.0pl2) configured for this host: filename "pxelinux.0"; next-server my-tftp-server; root-path net4501-nfs-share; (the root-path option is there so that the kernel need only run its autoconfiguration to find its nfsroot share -- seems an elegant solution imo...) Minicom (2.00.0) is configured for: 9600 8N1, hardware flow control. The net4501's bios is set up to use the serial console at 9600, and as you can see, I told my kernel to use it at this same speed, and tried to tell pxelinux to do it also. The flow control value of 0x303 is only there because the /usr/share/doc's said that this is a "common value" corresponding to "null modem cable detection." I've also tried: "serial 0 9600 0", "serial 0 9600", and "serial 0" (since 9600 is the default speed). All of these produce identical results. Everything works but pxelinux's output on the serial console. I've hunted up and down the 'net looking for others who have had similar problems. I've found websites of people who have used identical setups (i.e., a net4501 using pxelinux), and for them it seems to just work. I even copied their config files verbatim (how much does line termination matter in config files?) ... I got nothin'. Is there anyone out there who has had a similar problem? Please help :/ ~Steve
H. Peter Anvin
2004-Apr-02 18:40 UTC
[syslinux] Serial console with pxelinux on Soekris net4501
Steve R. Brudenell wrote:> Hello, > > I have a Soekris net4501, which I'm PXE booting using pxelinux. Everything > seems to be working splendidly, except for the fact that I can't seem to make > pxelinux understand use the net4501's serial console port correctly. > > The net4501 uses the serial console as its primary interface; I'm using a null > modem cable and minicom to operate with it. At boot, its startup messages go > out over the serial console and everything works as it should, until the > point where it gets to finding pxelinux.0 from my tftp server. As soon as the > bios finds and loads it, I get garbage over minicom that looks like this: > > 3;01H3;97HP3;01HX3;01HE3;01HL3;01HI3;01HN3;01HU3;01HX3;01H > 3;01H23;01H.3;01H03;HM >These are VT100 control codes, possibly mangled. You have serial forwarding set in your BIOS *and* serial port enabled in pxelinux, which is a no-no. You must have one or the other, not both. -hpa