Cypress Semiconductor USB to serial

Steve Franks stevefranks at ieee.org
Tue Sep 16 21:43:48 UTC 2008


On Tue, Sep 16, 2008 at 12:32 PM, Куцевол Максим <max.kutsevol at gmail.com> wrote:
> My UPS has a usb interface with USB-to-Serial chip.
> But ucycom driver doesn't recognize it.
> uhid driver does, but it doesn't help me, I need a virtual com port.
> (output below is without uhid loaded)
> What can I do to get it working?
>
> udi = '/org/freedesktop/Hal/devices/usb_device_665_5161_noserial'
>  freebsd.device_file = '/dev/ugen1'  (string)
>  freebsd.driver = 'ugen'  (string)
>  freebsd.unit = 1  (0x1)  (int)
>  info.bus = 'usb_device'  (string)
>  info.parent = '/org/freedesktop/Hal/devices/usb_device_0_0_noserial'
> (string)
>  info.product = 'USB to Serial'  (string)
>  info.subsystem = 'usb_device'  (string)
>  info.udi = '/org/freedesktop/Hal/devices/usb_device_665_5161_noserial'
> (string)
>  info.vendor = 'Cypress Semiconductor'  (string)
>  usb_device.bus_number = 0  (0x0)  (int)
>  usb_device.can_wake_up = false  (bool)
>  usb_device.configuration_value = 1  (0x1)  (int)
>  usb_device.device_class = 0  (0x0)  (int)
>  usb_device.device_protocol = 0  (0x0)  (int)
>  usb_device.device_revision_bcd = 2  (0x2)  (int)
>  usb_device.device_subclass = 0  (0x0)  (int)
>  usb_device.is_self_powered = false  (bool)
>  usb_device.max_power = 100  (0x64)  (int)
>  usb_device.num_configurations = 1  (0x1)  (int)
>  usb_device.num_interfaces = 1  (0x1)  (int)
>  usb_device.num_ports = 0  (0x0)  (int)
>  usb_device.port_number = 3  (0x3)  (int)
>  usb_device.product = 'USB to Serial'  (string)
>  usb_device.product_id = 20833  (0x5161)  (int)
>  usb_device.speed_bcd = 336  (0x150)  (int)
>  usb_device.vendor = 'Cypress Semiconductor'  (string)
>  usb_device.vendor_id = 1637  (0x665)  (int)
>  usb_device.version_bcd = 272  (0x110)  (int)
>
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
>

I believe most older cypress chips require you load a .hex firmware
file from devfs.rules on usb connect before they will do anything
useful.  You can probably find this file (with some other extension
than .hex, no doubt) in the windows driver package/install that comes
with the device.  You might need a spare windows box to un-cab the
files.  Anyway, after that you would call ezload
(/usr/ports/misc/ezload) from devfs.rules to "burn" the .hex into ram
every time the device is plugged in.  I am the new ezload maintainer
as of last week.  ezload won't work with recent Cypress chips, but I
have a patch such that it will.  If you think this is your problem,
get back to me, and I'll get you started.

On the other hand, the Cypress chip may not need a .hex at all - that
is not something I know for sure...I do know that silicon labs & ftdi
serial-usb converters have native support and need no .hex (I have
several of each)...

Steve


More information about the freebsd-stable mailing list