LCDd does not support usb4all displays since update 168

Hello everybody,

since updating to version 168 the LCDd ( inside LCDproc) does no longer support the lcd4all driver.
(hd44780 - usb4all driver)

hd44780: unknown ConnectionType: usb4all
Driver [hd44780] init failed, return code -1
Could not load driver hd44780

Is that somehow intentional?

Martin

CU 171 is released now

This update contains an update of LDCproc. Maybe this solves your problem.

2 Likes

CU 169,170 and i wait at least to 171 with the next LCSProc update doesn’t fix this problem.
For me it seems to be a change of the included drivers since 168, but
i’ve seen nothing anounced about that.

Martin

The originator of the bug with lcdproc was using hd44780 but with lcd2usb and this was fixed to use the up to date libusb library in the latest release. This driver has been shown to work by the bug originator. This change used the package updated to the latest commit, so there are no further updates currently available.

This shows that the hd44780 driver is working with lcd2usb.

There is only on issue with usb4all mentioned in the lcdproc github repository issues section and that is about the initialisation order for the hd44780 and the usb4all portions being in the wrong order but that was fixed back in Jan 2020.

Nothing has been changed in the lcdproc build to change any of the drivers and as far as I can see also nothing has changed in the drivers that are allowed by lcdproc in any of the commits they have made.

I am not familiar with usb4all and how it relates to lcd2usb so will have to look further at how lcdproc is using that to see if I can get a clue what is happening in your setup. That will take a bit of time as I am busy over the next couple of weeks with other things unless I manage to get a bit of time.

2 Likes

I got some time to look through lcdproc and its code.

Using the hd44780 driver should trigger the use of lcd2usb and usb4all. However this didn’t work with lcd2usb as that option in the previous version was based on libusb-0.1 which is obsolete and was removed from IPFire a few versions ago, also in many linux distributions.

libusb-1.0.25 is the version available in IPFire but the c code for the lcd2usb option in lcdproc was not written to work with the newer version of libusb.

Someone did an update of the c code for lcd2usb on lcdproc and that was the commit included in the update I did with lcdproc for CU171. That made hd44780-lcd2usb work again.

There has been no update to the c code for the usb4all version to work with the newer version of libusb and so it is not working.

I checked the contents of the hd44780.so library file and confirmed that it has the lcd2usb drivers included but no usb4all drivers.

This will be because that existing usb4all c code will only be built if it finds libusb-0.1 which is not present on IPFire.

I think that your best option is to raise an issue on the lcdproc github issues page (link below) regarding usb4all not working with libusb-1.0
If they do an update to the lcdproc code then I can update lcdproc in IPFire to include that.
https://github.com/lcdproc/lcdproc/issues

3 Likes