I had some problems when using the USB displays from Bernd Walter Consulting (http://www.bwct.de/lcd.html). When starting LCDd as root, the Log says something like
Jun 2 12:53:42 raspbmc LCDd: hd_init_bwct_usb: interface may be claimed by kernel driver, attempting to detach it Jun 2 12:53:42 raspbmc LCDd: hd_init_bwct_usb: unable to re-claim interface: No route to host Jun 2 12:53:42 raspbmc LCDd: Driver [hd44780] init failed, return code -1 Jun 2 12:53:42 raspbmc LCDd: Could not load driver hd44780
(see also my forum post at https://sourceforge.net/p/lcdproc/discussion/312/thread/672cd88a/)
I found out that this is caused by the libusb call "usb_claim_interface" (http://libusb.sourceforge.net/doc/function.usbclaiminterface.html) in "server/drivers/hd44780-bwct-usb.c", which returns -2 and therefore stops initialisation.
lcdproc-0.5.6 and lcdproc-0.5.5 seem to be affected (maybe older versions too, havent't tested that). I encountered the problems with ARM (Raspberry pi) and i386 architecture.
If I remove all checks like
if (usb_claim_interface(p->usbHandle, p->usbIndex) < 0) {...}
from hd44780-bwct-usb.c and recompile lcdproc, the display works just fine (although LCDProc has to be run as root, otherwise the initialisation fails with "hd44780: timing_init() failed (Operation not permitted)")
I do not know if this is an lcdproc- or libusb-related issue, maybe it's also a problem with the device itself. As far as I know, the BWCT usb devices are used not very often, so I marked this bug as minor.
Best regards,
Joerg
What OS are you using?
I had a look at some other drivers that use "usb_claim_interface" and all but one abort initialization if that fails.
I checked with a lcd2usb device on my Pi (running an older version of Wheezy) and with libusb-0.1 installed. The lcd2usb device does not use "usb_claim_interface", so I programmed that in and it does still work.
The error message "No route to host" is strange, but it may be because libusb is mapping some error codes.
I have no idea what all the configurations and alternate settings are for. I suggest you contact the original author about this: Bernd Walter bernd@bwct.de.
Thank you for your reply.
I use the Raspbmc wheezy distribution for my Pi. I have the problem with the lcdproc version that comes along with wheezy and with the 0.5.6 version (which is built against libusb-1 as far as I know?)
I encountered similar problems on my desktop PC, which is a Xubuntu 12.10 (64Bit).
I found out that the Client Software of Bernd Walter that can be downloaded from his homepage (http://www.bwct.de/lcd.html) and that I used to get the display running in the past, has the same problem - it checks not for the return value of "usb_claim_interface", and that's why it is working, although usb_claim_interface fails:
But if I extend this like this
I get a "Claim Result: -2" in the output every time the call is made. Nevertheless the LCD works fine.
Maybe this is a hardware issue - I have two LCDs from Bernd Walter, both have the same problem.
Anyway, by simply ignoring the error in the driver, the display works pefectly now with LCDProc (what a great piece of software, by the way! Thanks for sharing!) - but I will contact Bernd Walter, perhaps he has an idea for this.