Towards an ARM system-building script
Ian Lepore
freebsd at damnhippie.dyndns.org
Thu Oct 11 14:55:59 UTC 2012
On Thu, 2012-10-11 at 00:16 -0700, Tim Kientzle wrote:
> On Oct 10, 2012, at 3:08 PM, Giovanni Trematerra wrote:
>
> > On Wed, Oct 10, 2012 at 3:42 PM, Ian Lepore
> > <freebsd at damnhippie.dyndns.org> wrote:
> >> On Tue, 2012-10-09 at 23:42 +0200, Giovanni Trematerra wrote:
> >>> I booted a kernel with your suggestion but I get a panic during
> >>> initialization of ue0 I think
> >>
> >> It looks like bootpc_init() is getting called before USB has found the
> >> ethernet adapter. It might be fixable with a simple patch such as the
> >> following, but I really don't know whether this will work, and even if
> >> it does, whether it's a good idea (hopefully someone more knowledgable
> >> will offer an opinion). But if nothing else it's an interesting
> >> experiment to try.
> >
> > I think the patch is wrong at least in my case.
> > I had to run the "usb start" command from U-boot to have
> > ethernet card of PandaBoard working.
>
> What happens if you disable BOOTP in the kernel?
>
> That might help clarify whether the Ethernet isn't
> working at all or whether the Ethernet isn't getting
> started early enough for BOOTP.
>
> Tim
>
It's very clear from the panic message and the dmesg output that the usb
stack hasn't finished enumerating the bus and thus hasn't instantiated
the ue0 device before bootpc_init() is called. The only part I'm unsure
about is whether it's safe to call root_mount_wait() from within
boopc_init(). I don't know if there are any rules about calling
root_mount_wait() (locking, which thread(s) can call it, etc).
I'm also a bit unsure about the whole concept of using root_mount_wait()
as a proxy for "all usb devices have been enumerated." That seems,
conceptually, like relying on an undocumented side effect of a routine.
I'm also not sure it actually works... on freebsd 8.2 at least, I've
seen usb devices appear after root is mounted (hard-wired onto the
motherboard devices, not removables).
-- Ian
More information about the freebsd-arm
mailing list