Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Feb 2010 07:43:32 -0800
From:      Stephen Hurd <shurd@sasktel.net>
To:        freebsd-usb@freebsd.org
Subject:   Adding AlphaSmart Dana Support to uvisor issues
Message-ID:  <4B7D6024.10803@sasktel.net>

next in thread | raw e-mail | index | archive | help
I've got a pair of AlphaSmart Dana Palm systems which sync via USB in
Windows and want to sync with my 8-STABLE system...

I've added the following lines to sys/dev/usb/usbdevs:
vendor ALPHASMART       0x081e  AlphaSmart, Inc.
/* AlphaSmart, Inc. products */
product ALPHASMART DANA_KB      0xdbac  AlphaSmart Dana Keyboard
product ALPHASMART DANA_SYNC    0xdf00  AlphaSmart Dana HotSync

And the following to sys/dev/usb/serial/uvisor.c:
         UVISOR_DEV(ALPHASMART, DANA_SYNC, UVISOR_FLAG_PALM4),

uvisor will now attach, but using pilot-xfer fails to start the sync (no
input recieved from cuaU0).  A trace of a Win32 sync is available at 
http://nix.synchro.net/DanaSyncCapture.txt. It looks like the initial 
negotiation is the same as what uvisor does, but the read callback is 
not called after the initial setup...

Here's the output with hw.usb.[ucom|uvisor].debug=1 when I select sync
(yes, the device is a USB keyboard when it's not syncing) and run
pilot-xfer -p /dev/cuaU0 -l (at 22:38:10):

Feb 17 22:37:46 ace kernel: ugen0.2: <AlphaSmart, Inc.> at usbus0
(disconnected)
Feb 17 22:37:46 ace kernel: ukbd0: at uhub0, port 1, addr 2 (disconnected)
Feb 17 22:37:48 ace kernel: ugen0.2: <AlphaSmart, Inc.> at usbus0
Feb 17 22:37:48 ace kernel: uvisor_attach: sc=0xc6651e00
Feb 17 22:37:48 ace kernel: uvisor0: <AlphaSmart, Inc. Palm Handheld,
class 0/0, rev 1.00/1.00, addr 2> on usbus0
Feb 17 22:37:48 ace kernel: uvisor_init: done
Feb 17 22:37:48 ace kernel: ucom_attach_tty: tp = 0xc6650c00, unit = 0
Feb 17 22:37:48 ace kernel: ucom_attach_tty: ttycreate: U0
Feb 17 22:38:10 ace kernel: ucom_open: tp = 0xc6650c00
Feb 17 22:38:10 ace kernel: ucom_dtr: onoff = 1
Feb 17 22:38:10 ace kernel: ucom_line_state: on=0x01, off=0x00
Feb 17 22:38:10 ace kernel: ucom_rts: onoff = 1
Feb 17 22:38:10 ace kernel: ucom_line_state: on=0x02, off=0x00
Feb 17 22:38:10 ace kernel: ucom_ring: onoff = 0
Feb 17 22:38:10 ace kernel: ucom_line_state: on=0x00, off=0x08
Feb 17 22:38:10 ace kernel: ucom_break: onoff = 0
Feb 17 22:38:10 ace kernel: ucom_line_state: on=0x00, off=0x04
Feb 17 22:38:10 ace kernel: ucom_status_change:
Feb 17 22:38:10 ace kernel: ucom_param: sc = 0xc6651e30
Feb 17 22:38:10 ace kernel: ucom_dtr: onoff = 1
Feb 17 22:38:10 ace kernel: ucom_line_state: on=0x01, off=0x00
Feb 17 22:38:10 ace kernel: ucom_rts: onoff = 1
Feb 17 22:38:10 ace kernel: ucom_line_state: on=0x02, off=0x00
Feb 17 22:38:10 ace kernel: ucom_cfg_open:
Feb 17 22:38:10 ace kernel: ucom_ioctl: cmd = 0x402c7413
Feb 17 22:38:10 ace kernel: ucom_ioctl: cmd = 0x402c7413
Feb 17 22:38:10 ace kernel: ucom_ioctl: cmd = 0x802c7414
Feb 17 22:38:10 ace kernel: ucom_param: sc = 0xc6651e30
Feb 17 22:38:10 ace kernel: ucom_ioctl: cmd = 0x8004667e
Feb 17 22:38:10 ace kernel: ucom_ioctl: cmd = 0x8004667d
Feb 17 22:38:10 ace kernel: ucom_ioctl: cmd = 0x402c7413
Feb 17 22:38:10 ace kernel: ucom_ioctl: cmd = 0x802c7415
Feb 17 22:38:10 ace kernel: ucom_get_data: cnt=0
Feb 17 22:38:58 ace kernel: ugen0.2: <AlphaSmart, Inc.> at usbus0
(disconnected)
Feb 17 22:38:58 ace kernel: uvisor0: at uhub0, port 1, addr 2 (disconnected)
Feb 17 22:38:58 ace kernel: uvisor_detach: sc=0xc6651e00
Feb 17 22:38:58 ace kernel: ucom_detach_tty: sc = 0xc6651e30, tp =
0xc6650c00
Feb 17 22:38:58 ace kernel: ucom_close: tp=0xc6650c00
Feb 17 22:38:58 ace kernel: ucom_close: tp=0xc6650c00 already closed
Feb 17 22:39:05 ace kernel: ugen0.2: <AlphaSmart, Inc.> at usbus0
Feb 17 22:39:05 ace kernel: ukbd0: <AlphaSmart, Inc. Palm Handheld,
class 0/0, rev 1.00/1.00, addr 2> on usbus0
Feb 17 22:39:05 ace kernel: kbd2 at ukbd0

How can I get a USB trace to compare with the one from Windows and/or
what should be my next step?




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B7D6024.10803>