Re: usb mouse not work on boot
- In reply to: Warner Losh : "Re: usb mouse not work on boot"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 18 May 2024 19:00:32 UTC
On 2024-05-18 08:33, Warner Losh wrote: > On Sat, May 18, 2024, 9:22 AM Oleksandr Kryvulia <shuriku@shurik.kiev.ua> > wrote: > >> 18.05.24 16:06, Warner Losh: >> >> >> >> On Sat, May 18, 2024, 6:51 AM Oleksandr Kryvulia <shuriku@shurik.kiev.ua> >> wrote: >> >>> 18.05.24 12:59, Oleksandr Kryvulia: >>> >>> 18.05.24 12:55, Dag-Erling Smørgrav: >>> >>> Oleksandr Kryvulia <shuriku@shurik.kiev.ua> <shuriku@shurik.kiev.ua> >>> writes: >>> >>> Gary Jennejohn <garyj@gmx.de> <garyj@gmx.de> writes: >>> >>> Try adding uhid_load="YES" to your /boot/loader.conf. With that >>> added the module should be automatically loaded during the kernel >>> boot. >>> >>> As workaround I already have kld_list+="uhid" in /etc/rc.conf. >>> >>> I hope you don't mean that literally, because /etc/rc.conf is a shell >>> script and += is not valid shell syntax. On the other hand, something >>> like >>> >>> kld_list="${kld_list} uhid" >>> >>> Yes, you are right. I mean >>> sysrc kld_list+="uhid" >>> >>> >>> One more correction. Via kld_list I need load ums(4), loading only >>> uhid(4) does not solve a problem. >>> >> >> >> You don't need to change kld_list. In fact, you should undo any changes >> you've made there. Undo everything in loader.conf you've done. >> >> This is a bug in the boot optimization stuff. Or rather, this exposes a >> long standing bug in the USB code where there's an asymmetry between the >> nomatch events and the bus tree it presents to devctl causing devmatch to >> fail when the nomatch events aren't present on boot. >> >> Just set hw.bus.devctl_nomatch_enabled=1 in /boot/loader.conf and reboot. >> Or update to the change I'm about to make. >> >> >> Thanks for the detailed explanation, Warner. Interesting that on my system >> hw.bus.devctl_nomatch_enabled=1 is set by /etc/rc.d/devmatch but only >> explicit set it in /boot/loader.conf did the trick. That is why I think >> this sysctl don't work in my case. >> > > Yea. That's the optimization. We don't start generating events until it is > one. Setting it in the bootloader causes all events to coke through. > Setting it in devmatch turns them on after we run devmatch the first time, > omitting all of the ones generated on boot. Why is sysctl.conf(5) not the best location for this? > > Warner > >> --Chris