• We recently switched our forum platform. If you experience any issues please email support@crystalfontz.com

CFA735 USB and Linux problem

CaptFrito

New member
I just got a CFA735 and connected it to my Linux box (Gentoo) via USB. It looks like it's there, but udev isn't enumerating it (no /dev/ttyUSBx, no /dev/servial/, no /dev/usb/ ...).

Do I need a specific kernel driver?

Here is the output for lsusb -v for the display:

gentoo cf_linux_examples # lsusb -v -s 002:009

Bus 002 Device 009: ID 223b:0004
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x223b
idProduct 0x0004
bcdDevice 2.00
iManufacturer 1 Crystalfontz America
iProduct 2 CFA-735 Display
iSerial 3 1352735TFKD185379
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 67
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 0
CDC Header:
bcdCDC 1.10
CDC Call Management:
bmCapabilities 0x00
bDataInterface 1
CDC ACM:
bmCapabilities 0x02
line coding and serial state
CDC Union:
bMasterInterface 0
bSlaveInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 255
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
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 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0001
Self Powered
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.
 

CaptFrito

New member
After some digging I found that the STM32F4 uses the kernel module cdc_acm -- it is probably enabled in most binary distro Linux kernels but it's not in gentoo sources. Once I built the kernel module (takes only a few seconds to do) it loaded right up and udev (eudev in my case) mapped it to /dev/ttyACM0 . I may write a udev rule to fix the naming.
 

CF Mark

Administrator
Nice sleuthing to work that out :)
All distros that do support the ACM device put it at /dev/ttyACMx, so there would be no harm in leaving it there unless you have software that requires a specific device name.
 
Top