Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Dec 2009 08:19:12 -0500
From:      Jim Pingle <lists@pingle.org>
To:        freebsd-stable@freebsd.org
Subject:   Re: PCengines ALIX boot0sio serial input failes
Message-ID:  <4B20F550.4060408@pingle.org>
In-Reply-To: <E1NIdRx-0005yN-D0@kabab.cs.huji.ac.il>
References:  <E1NIPAr-000Li8-Pl@kabab.cs.huji.ac.il> <4B1FD3D8.8000300@pingle.org> <E1NIdRx-0005yN-D0@kabab.cs.huji.ac.il>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12/10/2009 2:28 AM, Daniel Braniss wrote:
>> On 12/9/2009 11:13 AM, Daniel Braniss wrote:
>>> hi,
>>> 	FreeBSD-8 works great on these boards, but there are some
>>> gotchas, the boot and the serial: output works fine, but input
>>> is 'problematic'. the pxeboot serial handling is ok, the boot menu
>>> is ok, but booting off the CF (using boot0sio), the input 'screwy'
>>> at the selection of partition it is ignored, at the OK: prompt
>>> from the boot (i had no kernel in the slice), the input is usually
>>> doubled:
>>> 	sshooww instead of show
>>> which is probably similar to what is happening with boot0sio but it
>>> only echoes # (the current bell).
>>>
>>> Once the kernel is up, the serial works fine.
>>
>> The development version of pfSense (2.0) is running on FreeBSD 8.0 using
>> NanoBSD and its serial input/output works pretty well on ALIX, the
>> 2d3.2d13 version at least (and others, but those are the only two I have
>> used personally).
>>
>> My test ALIX is at home unplugged at the moment, but based on what I see
>> in the image file there are a few things that were done:
>>
>> /boot/device.hints contains:
>> hint.uart.0.at="isa"
>> hint.uart.0.port="0x3F8"
>> hint.uart.0.flags="0x10"
>> hint.uart.0.irq="4"
>>
>> /boot.config contains:
>>  -h
>>
>> The initial boot0cfg on an image is done with:
>> boot0cfg -B -b /path/to/boot/boot0sio -o packet -s 1 -m 3 <device>
>>
>> Here is what shows up when I mount an md device from a CF image:
>> # boot0cfg -v /dev/md0
>> #   flag     start chs   type       end chs       offset         size
>> 1   0x80      0:  1: 1   0xa5    444: 15:63           63       448497
>> 2   0x00    445:  1: 1   0xa5    889: 15:63       448623       448497
>> 3   0x00    890:  0: 1   0xa5    991: 15:63       897120       102816
>>
>> version=2.0  drive=0x80  mask=0x3  ticks=182  bell=# (0x23)
>> options=packet,update,nosetdrv
>> volume serial ID 9090-9090
>> default_selection=F1 (Slice 1)
>>
>> Seems to work pretty well there. If you want the details, you can check
>> out the pfSense tools git repository which contains the build scripts
>> that generate the images.
> 
> I have the same /boot/device.hints.
> can you confirm that
> 	1) when booting from CF, the boot0sio accepts input
> 	2) the /boot/boot accepts input from the serial?

I can give serial input at any stage of booting, from the 1/2 boot slice
choice, the loader (I can get an OK prompt), etc.

I overlooked the "#" character you were getting when replying to this
message before, that typically means it cannot read the partition for
some reason, not that it isn't accepting input.

If this were a WRAP I'd say it might also be packet vs nopacket mode
when booting, but every ALIX I've had my hands on will boot pfSense
images with packet mode on the most current BIOS (0.99h).

You might try using a pfSense 2.0/FreeBSD 8 snapshot on a CF to see if
it exhibits the same behavior as your CF image. They should be available
from http://snapshots.pfsense.org/ There are also images for pfSense
1.2.3/FreeBSD 7.2 available on the normal download mirrors from
http://pfsense.org if you want to try those out. Just grab an image
sized for your CF (or smaller).

Jim



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B20F550.4060408>