Re: [linux-usb-devel] usb vfd request
On Sun, 2003-10-26 at 19:19, Joshua Wise wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 I've got a samsung 16T202DA VFD which (has a parallel interface and) is attached to a carrier board with a usb cable attached. I'm guessing the carrier board does some type of serial to parallel conversion. Are you sure it's a parallel interface, not a RS232 just over 25 pins? A google shows very little about the 16T202DA - do you have a link with more info? (Or do you mean that the LCD has a parallel interface?) A google for 16T202 (leaving off the DA) returned a couple of hits, one of which was: http://www.apollodisplays.com/pdf/16202da2j.pdf The connector on the vfd is a 14 pin header which includes 8 data, pwr, gnd and a few other signals (I need to review info on a standard parallel bus). Can't find much info on the carrier board. It's made by sasem.com and the silkscreen on the board says HTPC USB Rev 1.2. Their website doesn't seem to have anything and google has turned up zilch so far. Yeah, I'm not seeing anything at all about it even existing on their site. I'm hoping to use lcdproc or lcd4linux and am trying to figure out what modules to load (modify) to support this device. I'm thinking possibly usbserial. Anybody seen one of these and/or have any thoughts? What's its vendor ID and device ID? What endpoints does it have? If you're lucky, you'll just be able to jam data into it... The info returned by usbview is: Sasem Remote Controller V1.1 Manufacturer: Sasem Serial Number: Serial #0001 Speed: 1.5Mb/s (low) USB Version: 1.10 Device Class: 00(ifc ) Device Subclass: 00 Device Protocol: 00 Maximum Default Endpoint Size: 8 Number of Configurations: 1 Vendor Id: 11ba Product Id: 0101 Revision Number: 1.00 Config Number: 1 Number of Interfaces: 1 Attributes: a0 MaxPower Needed: 100mA Interface Number: 0 Name: (none) Alternate Number: 0 Class: 00(ifc ) Sub Class: 00 Protocol: 00 Number of Endpoints: 2 Endpoint Address: 81 Direction: in Attribute: 3 Type: Int. Max Packet Size: 8 Interval: 50ms Endpoint Address: 02 Direction: out Attribute: 3 Type: Int. Max Packet Size: 8 Interval: 50ms I appologize in advance. I didn't go to the linux-usb-users list because a search of the archive for usblcd returned nothing, but there were some hits on linux-usb-devel. Ah, research in advance is greatly appreciated. :) No trouble at all. Thanks in advance -Henry Culver -Culver Consulting [EMAIL PROTECTED] /j - -- Joshua Wise | www.joshuawise.com GPG Key | 0xEA80E0B3 Quote | lilo I akilled [EMAIL PROTECTED] by mistake -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/nICwPn9tWOqA4LMRArckAJ0Vxofb/k6GxItZm0i8C+cTwVIMvgCgj+6l DkfVH5zCzlvqYL/HLTxKnpA= =3YB3 -END PGP SIGNATURE- --- This SF.net email is sponsored by: The SF.net Donation Program. Do you like what SourceForge.net is doing for the Open Source Community? Make a contribution, and help us add new features and functionality. Click here: http://sourceforge.net/donate/ ___ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] usb vfd request
On Sun, 2003-10-26 at 19:19, Joshua Wise wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 I've got a samsung 16T202DA VFD which (has a parallel interface and) is attached to a carrier board with a usb cable attached. I'm guessing the carrier board does some type of serial to parallel conversion. Are you sure it's a parallel interface, not a RS232 just over 25 pins? A google shows very little about the 16T202DA - do you have a link with more info? (Or do you mean that the LCD has a parallel interface?) Can't find much info on the carrier board. It's made by sasem.com and the silkscreen on the board says HTPC USB Rev 1.2. Their website doesn't seem to have anything and google has turned up zilch so far. Yeah, I'm not seeing anything at all about it even existing on their site. I think this device is a Sasem OnAir Remocon IR/VFD combo. The VFD is a Samsung. I found a windoze driver for it. I suppose the best way to proceed is to plug it into a windows machine and load the driver and poke at it that way. Any suggestions for tools I might use to observe and replicate the behaviour of the windows driver? I have emailed a request for information to sasem.com, but unfortunately the only emails listed on their website are for sales and marketing. There is also a windows application called girder which manages the IR portion. I'm new to USB programming and its been years since I've written a device driver. The output of lsusb tells me that there is one configuration and one interface with 2 endpoints (let me know if I'm using the terminology wrong because I'll be the first to admit I don't know what I'm talking about). The endpoint addresses are EP 1 0x81 (IN) and EP 2 0x02 (OUT). The maxpacketsize on both endpoints is 8 and the transfer type is interrupt. With a verndorid of 0x11ba and a productid of 0x0101, might I be able to use usbserial as insmod vendor=0x11ba product=0x0101 and create a device node in /dev/usb to send and receive data to/from it? Or am I thinking of usbserial the wrong way? Any help appreciated. -Henry Culver -Culver Consulting [EMAIL PROTECTED] --- This SF.net email is sponsored by: The SF.net Donation Program. Do you like what SourceForge.net is doing for the Open Source Community? Make a contribution, and help us add new features and functionality. Click here: http://sourceforge.net/donate/ ___ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel --- This SF.net email is sponsored by: The SF.net Donation Program. Do you like what SourceForge.net is doing for the Open Source Community? Make a contribution, and help us add new features and functionality. Click here: http://sourceforge.net/donate/ ___ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] usb vfd request
On Mon, 2003-10-27 at 10:06, Henry Culver wrote: I think this device is a Sasem OnAir Remocon IR/VFD combo. The VFD is a Samsung. I found a windoze driver for it. I suppose the best way to proceed is to plug it into a windows machine and load the driver and poke at it that way. Any suggestions for tools I might use to observe and replicate the behaviour of the windows driver? I have emailed a request for information to sasem.com, but unfortunately the only emails listed on their website are for sales and marketing. There is also a windows application called girder which manages the IR portion. I'm new to USB programming and its been years since I've written a device driver. The output of lsusb tells me that there is one configuration and one interface with 2 endpoints (let me know if I'm using the terminology wrong because I'll be the first to admit I don't know what I'm talking about). The endpoint addresses are EP 1 0x81 (IN) and EP 2 0x02 (OUT). The maxpacketsize on both endpoints is 8 and the transfer type is interrupt. With a verndorid of 0x11ba and a productid of 0x0101, might I be able to use usbserial as insmod vendor=0x11ba product=0x0101 and create a device node in /dev/usb to send and receive data to/from it? Or am I thinking of usbserial the wrong way? Hope nobody minds if I start replying to myself ... Looks like loading windows and running SnoopyPro is my best bet. ... Any help appreciated. -Henry Culver -Culver Consulting [EMAIL PROTECTED] --- This SF.net email is sponsored by: The SF.net Donation Program. Do you like what SourceForge.net is doing for the Open Source Community? Make a contribution, and help us add new features and functionality. Click here: http://sourceforge.net/donate/ ___ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] reuse of urb
I am in the process of writing a device driver for a device which is a combination vacuum flourescent display and ir receiver. The driver is functional, but has some problems. The device has a single configuration, and single interface with 2 endpoints. The endpoints are transfer type interrupt. My open routine allocates 2 urb's (one for each endpoint, in and out) and fills them with usb_fill_int_urb. I have an in callback routine and an out callback routine. I can read ir byte codes from the device and write characters to the display including control codes which position subsequent character writes, clear the display and set brightness. My problem is that I cannot seem to reuse the out urb. When my write_callback routine is called, the urb-status is 0, but another write to the device blocks and the urb-status is thereafter -EINPROGRESS. If in my callback routine I usb_unlink_urb, usb_free_urb and then usb_alloc_urb(0) and re-initialize the structure, everything behaves correctly. After each successful write, I have to release and then re-allocate the out urb. Shouldn't I be able to reuse it? If so, does anyone have any helpful hints as to what might be going on here? -Henry Culver -Culver Consulting [EMAIL PROTECTED] --- This SF.Net email sponsored by: ApacheCon 2003, 16-19 November in Las Vegas. Learn firsthand the latest developments in Apache, PHP, Perl, XML, Java, MySQL, WebDAV, and more! http://www.apachecon.com/ ___ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] reuse of urb
On Tue, 2003-11-11 at 15:23, Alan Stern wrote: On Tue, 11 Nov 2003, Henry Culver wrote: I am in the process of writing a device driver for a device which is a combination vacuum flourescent display and ir receiver. The driver is functional, but has some problems. The device has a single configuration, and single interface with 2 endpoints. The endpoints are transfer type interrupt. My open routine allocates 2 urb's (one for each endpoint, in and out) and fills them with usb_fill_int_urb. I have an in callback routine and an out callback routine. I can read ir byte codes from the device and write characters to the display including control codes which position subsequent character writes, clear the display and set brightness. My problem is that I cannot seem to reuse the out urb. When my write_callback routine is called, the urb-status is 0, but another write to the device blocks and the urb-status is thereafter -EINPROGRESS. If in my callback routine I usb_unlink_urb, usb_free_urb and then usb_alloc_urb(0) and re-initialize the structure, everything behaves correctly. I don't understand. What do you mean another write to the device blocks? If the write blocked, how would you know what urb-status was afterwards? -- your machine would be locked up. After submission, usb-status is _supposed_ to be -EINPROGRESS; it stays that value more or less until it has completed. Sorry for the missing details. It's linux-2.4.21. When I say it blocks I mean that I call interruptible_sleep_on in the write routine and wake_up in the write_callback routine. If I remove the interruptible_sleep_on, the write never seems to finish (the status never changes from EINPROGRESS and the data never appears on the display). That is to say, the write_callback doesn't get called for the 2nd write. As near as I can tell the 2nd urb is never finishing. My next step I guess is to printk the various fields in the urb and see exactly how a new urb is different from a used one. After each successful write, I have to release and then re-allocate the out urb. Shouldn't I be able to reuse it? If so, does anyone have any helpful hints as to what might be going on here? You certainly should be able to reuse it. What version of Linux and which host controller driver are you using? If you aren't using 2.6, try it out and see if it works any better. Alan Stern Thanks, -Henry Culver -Culver Consulting --- This SF.Net email sponsored by: ApacheCon 2003, 16-19 November in Las Vegas. Learn firsthand the latest developments in Apache, PHP, Perl, XML, Java, MySQL, WebDAV, and more! http://www.apachecon.com/ ___ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] reuse of urb
Replying to my own post ... I've found a way to make my code work without having to deallocate / reallocate the urb. It seems that after a successful call, urb-dev is getting set to 0. In my write_callback routine I simply re-set urb-dev to its correct value (which is stored in the private device structure) and the subsequent calls using that urb are fine. I haven't found anything in my code that could be stepping on it, but I guess I'm not quite ready to rule that possibility out yet either. On Tue, 2003-11-11 at 15:59, Henry Culver wrote: On Tue, 2003-11-11 at 15:23, Alan Stern wrote: On Tue, 11 Nov 2003, Henry Culver wrote: I am in the process of writing a device driver for a device which is a combination vacuum flourescent display and ir receiver. The driver is functional, but has some problems. The device has a single configuration, and single interface with 2 endpoints. The endpoints are transfer type interrupt. My open routine allocates 2 urb's (one for each endpoint, in and out) and fills them with usb_fill_int_urb. I have an in callback routine and an out callback routine. I can read ir byte codes from the device and write characters to the display including control codes which position subsequent character writes, clear the display and set brightness. My problem is that I cannot seem to reuse the out urb. When my write_callback routine is called, the urb-status is 0, but another write to the device blocks and the urb-status is thereafter -EINPROGRESS. If in my callback routine I usb_unlink_urb, usb_free_urb and then usb_alloc_urb(0) and re-initialize the structure, everything behaves correctly. I don't understand. What do you mean another write to the device blocks? If the write blocked, how would you know what urb-status was afterwards? -- your machine would be locked up. After submission, usb-status is _supposed_ to be -EINPROGRESS; it stays that value more or less until it has completed. Sorry for the missing details. It's linux-2.4.21. When I say it blocks I mean that I call interruptible_sleep_on in the write routine and wake_up in the write_callback routine. If I remove the interruptible_sleep_on, the write never seems to finish (the status never changes from EINPROGRESS and the data never appears on the display). That is to say, the write_callback doesn't get called for the 2nd write. As near as I can tell the 2nd urb is never finishing. My next step I guess is to printk the various fields in the urb and see exactly how a new urb is different from a used one. After each successful write, I have to release and then re-allocate the out urb. Shouldn't I be able to reuse it? If so, does anyone have any helpful hints as to what might be going on here? You certainly should be able to reuse it. What version of Linux and which host controller driver are you using? If you aren't using 2.6, try it out and see if it works any better. Alan Stern Thanks, -Henry Culver -Culver Consulting --- This SF.Net email sponsored by: ApacheCon 2003, 16-19 November in Las Vegas. Learn firsthand the latest developments in Apache, PHP, Perl, XML, Java, MySQL, WebDAV, and more! http://www.apachecon.com/ ___ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel --- This SF.Net email sponsored by: ApacheCon 2003, 16-19 November in Las Vegas. Learn firsthand the latest developments in Apache, PHP, Perl, XML, Java, MySQL, WebDAV, and more! http://www.apachecon.com/ ___ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel