LCDproc, MythTV (Knoppmyth R5F27), & X-Board U Series

LK/ELK/VK/PK/OK/MX/GLK/EGLK/GVK/GLT Series

Moderators: Henry, Mods

Post Reply
Ctrl-G
LCD?
Posts: 5
Joined: Wed Mar 05, 2008 10:50 am
Location: Nashville, Tennessee

LCDproc, MythTV (Knoppmyth R5F27), & X-Board U Series

Post by Ctrl-G »

Hello:

I would like to use my new X-Board U series with Linux. I am using the X-Board with the built in VFD Display that comes with the Ahanix MCE 601 Media Center PC Case. It 'appears' to work great. I have only seen the "MO XBoard" on the display but am assuming everything else is working just fine.

I am having the following problem getting the display to function:

I have no /dev/ttyUSBx to tell LCDd (of LCDProc) to use. I believe that I need a driver (or to load the appropriate Kernel module) to do this .. it would appear from other posts / manuals that I need the driver for the FTDI chip. And while I have been to their website and have downloaded their driver (though have not yet been brave enough to attempt a 'make') .. it does not appear to support the XBoard if I am reading their code correctly. It would appear that you have a new Vendor ID & Product ID assigned to this board.

idVendor 0x1b3d
idProduct 0x0154

Specifically from lsusb I get:

Code: Select all

Bus 002 Device 003: ID 1b3d:0154  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x1b3d 
  idProduct          0x0154 
  bcdDevice            6.00
  iManufacturer           1 MO
  iProduct                2 XBoard
  iSerial                 3 0TlkjmK1
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 XBoard
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)
So with that in mind, I was wondering if I need to change some of the vendor ID's / Device ID's in this code or if I'm just missing something.

It is probalby also worth noting that I have a version of the driver on my box already (that is not loaded by default) that is a .ko file available that is modprobe-able and will load .. but does not create a /dev/ttyUSBx when loaded (although now as I think about it I have not tried to load it and THEN pluged in the USB port to the Xboard afterward. So if the order is relevant then it may be working and I would not know it.

Additionally is there any documentation for the Xboard available. Does the USB version need any configuration or does it expect the software to tell it everything that it needs?

Incidentally, I love the design of the XBoard .. it's just perfect .. and it fits perfectly in a Radio Shack 270-1801 itty bitty project box. From there I can run a ribbon cable to the display and it takes up NO more real-estate behind the display. -- Just fabulous

Thanks for the wonderful products!

Bruce
Ray
Matrix Orbital
Matrix Orbital
Posts: 745
Joined: Thu Dec 13, 2001 4:00 pm
Location: Earth.... I think..
Contact:

Post by Ray »

I'm not quite sure the driver they publish on their website is as recent as the one that is included in recent linux kernels you should be okay with the stock linux one.

After that you can just run

modprobe ftdi_sio vendor=0x1b3d product=0x154

However judgeing from your lsusb dump I see that your xboard was programmed with an outdated programming profile which set the endpoint size to 0. While the windows driver goes 'oh 0, lets use the default!' the Linux driver takes it literally and tries to communicate with 0 byte messages which well is impossible.

You can correct this your self though by reprogramming the ftdi chip on your xboard on a windows machine using FTDI's Mprog and the profile I attached to this post. Sorry for the inconvenience
Attachments
Xboard.zip
Xboard Programming profile
(627 Bytes) Downloaded 639 times
Ctrl-G
LCD?
Posts: 5
Joined: Wed Mar 05, 2008 10:50 am
Location: Nashville, Tennessee

Post by Ctrl-G »

Ray:

Thank you so much. I'll give this a try this evening and will let you know how it goes. When I get this working I'll create a knoppmythwiki.org entry for it so others knoppmyth users can find it easily as well.

Thanks again,
Bruce
Ctrl-G
LCD?
Posts: 5
Joined: Wed Mar 05, 2008 10:50 am
Location: Nashville, Tennessee

Post by Ctrl-G »

Ok ...

After wrestling with getting the windows driver to load I managed to reprogram the FTDI chip. Only problem is I used the serial number that was embedded in the file you sent rather than resetting it to the one for my device. Oops.

I have the following questions though:

1. After reprogramming there seems to be no longer a startup screen. Before it had said "MO XBOARD". I don't have a problem with this, I just wanted to make sure this was expected and that it does not indicate a problem.

2. Is the Serial Number relevant? I can always program the chip again. Now that the windows box is all happy with it.

The modprobe line you mention does work and the system then recognizes the device .. but I have yet to get it to display anything. In my past experience .. the order things are brought up in the Knoppmyth configuration is VERY important and I have not got the modprobe loading automatically yet.

The New LSUSB output is as follows:

Code: Select all

Bus 002 Device 003: ID 1b3d:0154  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x1b3d 
  idProduct          0x0154 
  bcdDevice            6.00
  iManufacturer           1 MO
  iProduct                2 XBoard
  iSerial                 3 0TQUVWKL
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 XBoard
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)
and clearly shows that the

wMaxPacketSize 0x0040 1x 64 bytes

has been updated!

Bruce
Ctrl-G
LCD?
Posts: 5
Joined: Wed Mar 05, 2008 10:50 am
Location: Nashville, Tennessee

Post by Ctrl-G »

Ray (or others):

I have set the re-set the serial number back ... still no display .. I have not ruled out the ribbon cable yet though. So will check that (components were just received for that purpose today) .. my question from above "After reprogramming there seems to be no longer a startup screen. Before it had said "MO XBOARD". I don't have a problem with this, I just wanted to make sure this was expected and that it does not indicate a problem." I am still curious of, however.

It it possible the profile you sent is somehow incorrect? Do I need to configure this board with jumpers in some manner to get it back to a default state?

Bruce
Ray
Matrix Orbital
Matrix Orbital
Posts: 745
Joined: Thu Dec 13, 2001 4:00 pm
Location: Earth.... I think..
Contact:

Post by Ray »

After programming you should still have the MO XBOARD logo the programmer only pushes new settings into the FTDI USB->Serial bridge chip. The microcontroller driving your VFD is untouched by it.

As you have noticed the serial number doesn't really matter, we set it to the date/time it was originally programmed but don't really use it anywhere.

To further diagnose whats broken could you hook up the unit to the windows machine again and use our mogd# tool to read the module Revision? This button is located in the 'configure display defaults' screen.
Ctrl-G
LCD?
Posts: 5
Joined: Wed Mar 05, 2008 10:50 am
Location: Nashville, Tennessee

Post by Ctrl-G »

After downloading the mogd# program you mentioned I was able to get:

Code: Select all

Xboard U
Version 5.6
Revision 0x56
as well as the "MO Xboard" logo once again. I don't know what I had done or if the display was confused or what .. regardless I was able to get the logo once again. As previously mentioned, I am using LCDProc and a VFD that came with a HTPC case. The VFD displays some strange characters and some that make since .. but it's not like a baud rate problem. It is really difficult to connect the Xboard to a windows machine when it is connected to the VFD as they are in very geographically diverse areas of the house.

Is there a manual available for the USB version of the xboard? I know there must be commands available that aren't listed in the Serial or I2C versions as there is not an INIT jumper to program it like the Serial version. I told the mogd# (i think it was) that it was a 16x2 display .. so I think it is aware of that ... but I plan to order more xboards and I would like to know all there is to know about it so I can go about programming them intelligently.

As soon as I can reorient equipment (or order some additional Xboards) I'll do some more experimenting, probably with both LCDProc and with uProject in order to send raw data to the XBoard & Display(s).

Thanks,
Bruce
Attachments
Current display with LCDProc
Current display with LCDProc
Photo_030908_002-MOD2.jpg (13.08 KiB) Viewed 8845 times
Ray
Matrix Orbital
Matrix Orbital
Posts: 745
Joined: Thu Dec 13, 2001 4:00 pm
Location: Earth.... I think..
Contact:

Post by Ray »

Good to hear you are somewhat up and running again! There's another thread going on about our VFD's and lcdproc aparently there's abug in the driver. not sure if it is the problem you are having but its worth a shot right?
Post Reply