[OpenWrt-Devel] Q: procd: re-evaluation of inittab entries
Michael Heimpold
mhei at heimpold.de
Wed Dec 5 01:42:19 EST 2018
Hi,
Am Mittwoch, 5. Dezember 2018, 03:52:20 CET schrieb Yousong Zhou:
> On Wed, 5 Dec 2018 at 06:00, Michael Heimpold <mhei at heimpold.de> wrote:
> > Hi,
> >
> > I'm currently playing with USB gadget stuff. The goal is to run an
> > Ethernet
> > link and a console over the USB link. I already selected the relevant
> > kernel modules and ACM device and RNDIS device is created on the USB host
> > system - all fine so far.
> > The ACM device on the USB gadget side is created as /dev/ttyGS0, and
> > when I use "echo foobar > /dev/ttyGS0" or "cat /dev/ttyGS0" on USB device
> > side with corresponding counterparts on USB host side, then it already
> > works like a charme.
> > My problem is the inittab: I think the right approach is to add an entry
> > to
> > inittab when I want to provide a login console on this tty, so I added:
> > ttyGS0::askfirst:/usr/libexec/login.sh
> > at the end of my inittab.
> > However, during boot ttyGS0 is not yet available - it takes until the
> > USB gadget is setup. procd skips this line at boot time.
> >
> > So my question is: is this the correct approach, or should I use a
> > hotplug script to start such a console?
>
> I think we should make it possible to use serial console directly in
> inittab.
>
> In this case, could it be that the kernel module was only loaded after
> parsing inittab and askfirst quitted because it couldn't find the
> device? Please check if that is the case by grepping module name in
> /etc/modules-boot.d/ . Setting boot flag when calling AutoProbe
> should fix the issue.
No, the order is this one:
1. modules are loaded (device does not appear yet)
2. inittab is parsed
3. entry is skipped because device does not exists yet
4. configuration of USB gadget with shell script and/or init script
5. device appears
6. hotplug-call tty is being called and running hotplug scripts
So it seems that we need a feedback from hotplug script to
procd to rescan inittab for formerly skipped items and re-trigger
start in case of device is present now.
Regards,
mhei
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list