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>