USB-to-serial adapter configuration
Hans Petter Selasky
hselasky at c2i.net
Mon May 18 14:53:41 UTC 2009
On Monday 18 May 2009, Saifi Khan wrote:
> On Mon, 18 May 2009, Ruben de Groot wrote:
> > On Mon, May 18, 2009 at 04:07:09PM +0000, Saifi Khan typed:
> > > Hi all:
> > >
> > > How does one configure settings for USB-to-serial adapter in FreeBSD ?
> > >
> > > The one i have purchased is
> > > http://www.usbgear.com/computer_cable_details.cfm?sku=CHEAP-SERIAL&cats
> > >=199&catid=482%2C1303%2C199%2C461%2C106%2C1009%2C601
> > >
> > > On the Gentoo box, 'lsusb' displays it as:
> > > Bus 002 Device 003: ID 067b:2303
> > > Prolific Technology, Inc. PL2303 Serial Port
> >
> > Your adapter should be recognised by the uplcom driver. put
> > uplcom_load="YES" in loader.conf or load manually. Check dmesg for the
> > device name.
> > Also, I think cu is "good enough" ;)
> >
> > Ruben
>
> This is the error shown in 'dmesg' log
>
> ugen0.2: <Prolific Technology> at usbus0
> uplcom0: <Prolific Technology PL2303 Serial (ATEN/IOGEAR UC232A), class
> 0/0, rev 1.10/3.00, addr 2> on usbus0 uplcom0: init failed!
> device_attach: uplcom0 attach returned 6
> uplcom0: <Prolific Technology PL2303 Serial (ATEN/IOGEAR UC232A), class
> 0/0, rev 1.10/3.00, addr 2> on usbus0 uplcom0: init failed!
> device_attach: uplcom0 attach returned 6
>
> Scenarios:
>
> 1. kldstat -v | grep uplcom shows
> 303 uhub/uplcom
>
> 2. uplcom_load="YES" in /boot/loader.conf
> with a reboot
>
> In both the scenarios, 'dmesg' shows the same error.
>
> On re-attaching the device, the following error is shown.
Hi,
>
> usb2_alloc_device:1574: set address 2 failed (USB_ERR_STALLED, ignored)
> usb2_alloc_device:1612: getting device descriptor at addr 2 failed,
> USB_ERR_STALLED! ugen0.2: <> at usbus0 (disconnected)
> uhub_reattach_port:417: could not allocate new device!
Looks like the firmware crashed if it does not re-enumrate.
>
> Any suggestions on how i can get uplcom drive to work ?
>
Try looking up the USB-ID line for your device and modify the uplcom flags
(TYPE_XXX) for your device so that it does not require init for example.
/* TrendNet TU-S9 */
{USB_UPL(USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_PL2303, 0x0400,
0xFFFF, TYPE_PL2303X)},
/* ST Lab USB-SERIAL-4 */
{USB_UPL(USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_PL2303, 0x0300,
0x03FF, TYPE_PL2303X)},
/* IOGEAR/ATEN UC-232A (also ST Lab USB-SERIAL-1) */
{USB_UPL(USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_PL2303, 0, 0x02FF,
TYPE_PL2303)},
Use:
usbconfig dump_device_desc
To get the version number for your chip (See "0, 0x02FF" above) Make sure that
the TYPE flag is correct.
Also see: /sys/dev/usb/serial/uplcom.c
Then:
make -C /sys/modules/usb/uplcom clean all install
kldunload uplcom
kldload uplcom
--HPS
More information about the freebsd-questions
mailing list