[Testing wanted] USB patch for HAL
Vladimir Kushnir
vkushnir at bigmir.net
Mon Jun 27 04:06:11 UTC 2011
Sorry for slightly off-topic post but (see below)
On Sun, 26 Jun 2011, Greg Rivers wrote:
> On Sun, 26 Jun 2011, Hans Petter Selasky wrote:
>> On Sunday 26 June 2011 09:27:22 Greg Rivers wrote:
>>> With this change, the USB bus continued to operate as expected while
>>> attaching and detaching a USB flash drive. On start up, hald was not
>>> detecting the attach/detach events, but started working and kept working
>>> after restarting it. In summary, with both of the above changes,
>>> everything worked pretty much correctly.
>>
>> Try this patch to hald:
>>
>> cd /usr/ports/sysutils/hal/files
>> fetch http://hselasky.homeunix.org:8192/patch-hald_freebsd_hf-usb2.c
>>
>> cd ..
>> make all deinstall install clean
>>
>
> With this patch, and the CAM patches still in place, the USB bus works fine,
> but hald never sees any attach/detach events, even after restarting it.
>
> I reverted the CAM patches and tested again with the same result. So this
> patch to hald does stop the CAM sg errors, and prevents the USB from wedging.
> It just doesn't detect attach events.
>
> --
> Greg Rivers
> _______________________________________________
I'm fairly aware this would be only a workaround rather than a proper
solution but isn't it enough to just tell hald to ignore /dev/sg*?
What I did was put into /usr/local/etc/hal/fdi/preprobe an fdi I've
spotted some time ago (sorry can't recall the original URL) and so far
everything works with patched HAL but without any changes to kernel.
amd64-CURRENT, desktop, USB mouse and storage devices (flash and HDD).
Hope this helps (and sorry for OT again),
Vladimir
//// 30-ignore-sg.fdi
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<!-- ignore /dev/sg[1,x]; we want hald to see the FreeBSD interface -->
<!-- put more devices if needed -->
<match key="block.device" string="/dev/sg1">
<merge key="info.ignore" type="bool">true</merge>
</match>
<match key="block.device" string="/dev/sg2">
<merge key="info.ignore" type="bool">true</merge>
</match>
<match key="block.device" string="/dev/sg3">
<merge key="info.ignore" type="bool">true</merge>
</match>
</device>
</deviceinfo>
More information about the freebsd-current
mailing list