From owner-freebsd-usb@FreeBSD.ORG Tue Jun 30 18:46:12 2009 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5E3FD1065670 for ; Tue, 30 Jun 2009 18:46:12 +0000 (UTC) (envelope-from bsdfan@nurfuerspam.de) Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by mx1.freebsd.org (Postfix) with SMTP id 7ACC38FC17 for ; Tue, 30 Jun 2009 18:46:11 +0000 (UTC) (envelope-from bsdfan@nurfuerspam.de) Received: (qmail invoked by alias); 30 Jun 2009 18:46:10 -0000 Received: from dslb-092-073-081-027.pools.arcor-ip.net (EHLO [192.168.1.100]) [92.73.81.27] by mail.gmx.net (mp043) with SMTP; 30 Jun 2009 20:46:10 +0200 X-Authenticated: #931807 X-Provags-ID: V01U2FsdGVkX1/h2uokefHhanHYWMQZoDXekM0JSo22QCLGhnXrWz d6vEAVYUvze3V8 Message-ID: <4A4A5D7E.70708@nurfuerspam.de> Date: Tue, 30 Jun 2009 20:46:22 +0200 From: Markus Dolze User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) MIME-Version: 1.0 To: freebsd-usb@freebsd.org Content-Type: multipart/mixed; boundary="------------040808090905060105080603" X-Y-GMX-Trusted: 0 X-FuHaFi: 0.53,0.67 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Failing controls transfers in VMware X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 18:46:12 -0000 This is a multi-part message in MIME format. --------------040808090905060105080603 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello, for several days I ways trying to get devel/avrdude to work with an USBasp compatibel device (www.ullihome.de) on FreeBSD 7.2 running as a guest in VMware Workstation 6.5.2. Because avrdude didn't recognize the device at all, I had a closer look and found that nearly (I am not sure enough to say every) second control transfer (using libusb's usb_control_msg) fails, if: * it is a read request (has USB_ENDPOINT_IN set) and * requests more than 20 bytes (ucr_request.wLength). If 20 or less bytes are requested, most (not sure if all) transfers suceed. To repeat run the attached program: 1. Fill in some vendor / product ID of a device detected as ugen device 2. Compile and run the code (devel/libusb must be installed). The result will look like this: root@kirika2# ./test Found AVR-USB device USB_control_msg result: 28 1c 03 Found device from vendor: www.fischl.de USB_control_msg result: -5 Warning: cannot query product: error sending control message: Input/output error I built and ran a kernel with USB_DEBUG enabled and set 'sysctl hw.usb.ugen.debug=6'. The result is attached. Excerpt: kernel: ugenioctl: cmd=c018556f kernel: usbd_alloc_xfer() = 0xc36eb800 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc37a7480, running=0 kernel: usbd_dump_queue: pipe=0xc37a7480 kernel: usb_insert_transfer: pipe=0xc37a7480 running=0 timeout=5000 kernel: usb_add_task: task=0xc36eb990 kernel: usb_task_thread: woke up task=0xc36eb990 kernel: usb_transfer_complete: pipe=0xc37a7480 xfer=0xc36eb800 *status=15* actlen=0 The USB_DO_REQUEST (0xc018556f) ioctl to ugen times out. I can set different timeout values (tried 1000, 5000, 10000), it times out everytime. If the same request is send immediately a second time (for example by putting the usb_control_msg call in a loop) it suceeds! Some remarks: * This only happens running FreeBSD 7.2 in VMware, it does work on real hardware (see below)! * Avrdude with libusb-win32 is running fine on WinXP as guest OS. * It does happen on different hosts running VMware (all Windows hosts anyway) * It happens no matter what USB device I tried (used USBasp, lcd2usb, Garmin GPS, USB smartcard reader) * It is reproducable on my systems. On real hardware, the program results in: test# ./test Found AVR-USB device USB_control_msg result: 28 1c 03 Found device from vendor: www.fischl.de USB_control_msg result: 14 0e 03 Found device: USBasp So what could it be? Regards, Markus --------------040808090905060105080603 Content-Type: text/plain; name="messages" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="messages" Jun 30 20:16:00 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:00 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc3187d00, running=0 Jun 30 20:16:00 kirika2 kernel: usbd_dump_queue: pipe=0xc3187d00 Jun 30 20:16:00 kirika2 kernel: usb_insert_transfer: pipe=0xc3187d00 running=0 timeout=5000 Jun 30 20:16:00 kirika2 kernel: usb_transfer_complete: pipe=0xc3187d00 xfer=0xc36eb800 status=0 actlen=2 Jun 30 20:16:00 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:00 kirika2 kernel: usbd_start_next: pipe=0xc3187d00, xfer=0 Jun 30 20:16:00 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:00 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:00 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc3187d00, running=0 Jun 30 20:16:00 kirika2 kernel: usbd_dump_queue: pipe=0xc3187d00 Jun 30 20:16:00 kirika2 kernel: usb_insert_transfer: pipe=0xc3187d00 running=0 timeout=5000 Jun 30 20:16:00 kirika2 kernel: usb_transfer_complete: pipe=0xc3187d00 xfer=0xc36eb800 status=0 actlen=12 Jun 30 20:16:00 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:00 kirika2 kernel: usbd_start_next: pipe=0xc3187d00, xfer=0 Jun 30 20:16:00 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:00 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:00 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc3187d00, running=0 Jun 30 20:16:00 kirika2 kernel: usbd_dump_queue: pipe=0xc3187d00 Jun 30 20:16:00 kirika2 kernel: usb_insert_transfer: pipe=0xc3187d00 running=0 timeout=5000 Jun 30 20:16:00 kirika2 kernel: usb_transfer_complete: pipe=0xc3187d00 xfer=0xc36eb800 status=0 actlen=2 Jun 30 20:16:00 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:00 kirika2 kernel: usbd_start_next: pipe=0xc3187d00, xfer=0 Jun 30 20:16:00 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:00 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:00 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc3187d00, running=0 Jun 30 20:16:00 kirika2 kernel: usbd_dump_queue: pipe=0xc3187d00 Jun 30 20:16:00 kirika2 kernel: usb_insert_transfer: pipe=0xc3187d00 running=0 timeout=5000 Jun 30 20:16:00 kirika2 kernel: usb_transfer_complete: pipe=0xc3187d00 xfer=0xc36eb800 status=0 actlen=28 Jun 30 20:16:00 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:00 kirika2 kernel: usbd_start_next: pipe=0xc3187d00, xfer=0 Jun 30 20:16:00 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:00 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:00 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc37a7480, running=0 Jun 30 20:16:00 kirika2 kernel: usbd_dump_queue: pipe=0xc37a7480 Jun 30 20:16:00 kirika2 kernel: usb_insert_transfer: pipe=0xc37a7480 running=0 timeout=5000 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: pipe=0xc37a7480 xfer=0xc36eb800 status=0 actlen=2 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:01 kirika2 kernel: usbd_start_next: pipe=0xc37a7480, xfer=0 Jun 30 20:16:01 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc37a7480, running=0 Jun 30 20:16:01 kirika2 kernel: usbd_dump_queue: pipe=0xc37a7480 Jun 30 20:16:01 kirika2 kernel: usb_insert_transfer: pipe=0xc37a7480 running=0 timeout=5000 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: pipe=0xc37a7480 xfer=0xc36eb800 status=0 actlen=28 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:01 kirika2 kernel: usbd_start_next: pipe=0xc37a7480, xfer=0 Jun 30 20:16:01 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc37a7480, running=0 Jun 30 20:16:01 kirika2 kernel: usbd_dump_queue: pipe=0xc37a7480 Jun 30 20:16:01 kirika2 kernel: usb_insert_transfer: pipe=0xc37a7480 running=0 timeout=5000 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: pipe=0xc37a7480 xfer=0xc36eb800 status=0 actlen=2 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:01 kirika2 kernel: usbd_start_next: pipe=0xc37a7480, xfer=0 Jun 30 20:16:01 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc37a7480, running=0 Jun 30 20:16:01 kirika2 kernel: usbd_dump_queue: pipe=0xc37a7480 Jun 30 20:16:01 kirika2 kernel: usb_insert_transfer: pipe=0xc37a7480 running=0 timeout=5000 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: pipe=0xc37a7480 xfer=0xc36eb800 status=0 actlen=14 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:01 kirika2 kernel: usbd_start_next: pipe=0xc37a7480, xfer=0 Jun 30 20:16:01 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: ugenopen: flag=1, mode=8192, unit=0 endpt=0 Jun 30 20:16:01 kirika2 kernel: ugenioctl: cmd=40125569 Jun 30 20:16:01 kirika2 kernel: ugenclose: flag=1, mode=8192, unit=0, endpt=0 Jun 30 20:16:01 kirika2 kernel: ugenclose: close control Jun 30 20:16:01 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc350a380, running=0 Jun 30 20:16:01 kirika2 kernel: usbd_dump_queue: pipe=0xc350a380 Jun 30 20:16:01 kirika2 kernel: usb_insert_transfer: pipe=0xc350a380 running=0 timeout=5000 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: pipe=0xc350a380 xfer=0xc36eb800 status=0 actlen=2 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:01 kirika2 kernel: usbd_start_next: pipe=0xc350a380, xfer=0 Jun 30 20:16:01 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc350a380, running=0 Jun 30 20:16:01 kirika2 kernel: usbd_dump_queue: pipe=0xc350a380 Jun 30 20:16:01 kirika2 kernel: usb_insert_transfer: pipe=0xc350a380 running=0 timeout=5000 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: pipe=0xc350a380 xfer=0xc36eb800 status=0 actlen=46 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:01 kirika2 kernel: usbd_start_next: pipe=0xc350a380, xfer=0 Jun 30 20:16:01 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: ugenopen: flag=3, mode=8192, unit=0 endpt=0 Jun 30 20:16:01 kirika2 kernel: ugenioctl: cmd=80045572 Jun 30 20:16:01 kirika2 kernel: ugenioctl: cmd=c018556f Jun 30 20:16:01 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc37a7480, running=0 Jun 30 20:16:01 kirika2 kernel: usbd_dump_queue: pipe=0xc37a7480 Jun 30 20:16:01 kirika2 kernel: usb_insert_transfer: pipe=0xc37a7480 running=0 timeout=1000 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: pipe=0xc37a7480 xfer=0xc36eb800 status=0 actlen=8 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:01 kirika2 kernel: usbd_start_next: pipe=0xc37a7480, xfer=0 Jun 30 20:16:01 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: ugenioctl: cmd=80045572 Jun 30 20:16:01 kirika2 kernel: ugenioctl: cmd=c018556f Jun 30 20:16:01 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc37a7480, running=0 Jun 30 20:16:01 kirika2 kernel: usbd_dump_queue: pipe=0xc37a7480 Jun 30 20:16:01 kirika2 kernel: usb_insert_transfer: pipe=0xc37a7480 running=0 timeout=1000 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: pipe=0xc37a7480 xfer=0xc36eb800 status=0 actlen=18 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:01 kirika2 kernel: usbd_start_next: pipe=0xc37a7480, xfer=0 Jun 30 20:16:01 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: ugenclose: flag=3, mode=8192, unit=0, endpt=0 Jun 30 20:16:01 kirika2 kernel: ugenclose: close control Jun 30 20:16:01 kirika2 kernel: usbd_alloc_xfer() = 0xc3082800 Jun 30 20:16:01 kirika2 kernel: usbd_transfer: xfer=0xc3082800, flags=6, pipe=0xc31c4880, running=0 Jun 30 20:16:01 kirika2 kernel: usbd_dump_queue: pipe=0xc31c4880 Jun 30 20:16:01 kirika2 kernel: usb_insert_transfer: pipe=0xc31c4880 running=0 timeout=5000 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: pipe=0xc31c4880 xfer=0xc3082800 status=0 actlen=2 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:01 kirika2 kernel: usbd_start_next: pipe=0xc31c4880, xfer=0 Jun 30 20:16:01 kirika2 kernel: usbd_free_xfer: 0xc3082800 Jun 30 20:16:01 kirika2 kernel: usbd_alloc_xfer() = 0xc3082800 Jun 30 20:16:01 kirika2 kernel: usbd_transfer: xfer=0xc3082800, flags=6, pipe=0xc31c4880, running=0 Jun 30 20:16:01 kirika2 kernel: usbd_dump_queue: pipe=0xc31c4880 Jun 30 20:16:01 kirika2 kernel: usb_insert_transfer: pipe=0xc31c4880 running=0 timeout=5000 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: pipe=0xc31c4880 xfer=0xc3082800 status=0 actlen=18 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:01 kirika2 kernel: usbd_start_next: pipe=0xc31c4880, xfer=0 Jun 30 20:16:01 kirika2 kernel: usbd_free_xfer: 0xc3082800 Jun 30 20:16:01 kirika2 kernel: usbd_alloc_xfer() = 0xc3082800 Jun 30 20:16:01 kirika2 kernel: usbd_transfer: xfer=0xc3082800, flags=6, pipe=0xc31c4880, running=0 Jun 30 20:16:01 kirika2 kernel: usbd_dump_queue: pipe=0xc31c4880 Jun 30 20:16:01 kirika2 kernel: usb_insert_transfer: pipe=0xc31c4880 running=0 timeout=5000 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: pipe=0xc31c4880 xfer=0xc3082800 status=0 actlen=2 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:01 kirika2 kernel: usbd_start_next: pipe=0xc31c4880, xfer=0 Jun 30 20:16:01 kirika2 kernel: usbd_free_xfer: 0xc3082800 Jun 30 20:16:01 kirika2 kernel: usbd_alloc_xfer() = 0xc3082800 Jun 30 20:16:01 kirika2 kernel: usbd_transfer: xfer=0xc3082800, flags=6, pipe=0xc31c4880, running=0 Jun 30 20:16:01 kirika2 kernel: usbd_dump_queue: pipe=0xc31c4880 Jun 30 20:16:01 kirika2 kernel: usb_insert_transfer: pipe=0xc31c4880 running=0 timeout=5000 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: pipe=0xc31c4880 xfer=0xc3082800 status=0 actlen=28 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:01 kirika2 kernel: usbd_start_next: pipe=0xc31c4880, xfer=0 Jun 30 20:16:01 kirika2 kernel: usbd_free_xfer: 0xc3082800 Jun 30 20:16:01 kirika2 kernel: ugenopen: flag=3, mode=8192, unit=0 endpt=0 Jun 30 20:16:01 kirika2 kernel: ugenioctl: cmd=80045572 Jun 30 20:16:01 kirika2 kernel: ugenioctl: cmd=c018556f Jun 30 20:16:01 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc37a7480, running=0 Jun 30 20:16:01 kirika2 kernel: usbd_dump_queue: pipe=0xc37a7480 Jun 30 20:16:01 kirika2 kernel: usb_insert_transfer: pipe=0xc37a7480 running=0 timeout=5000 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: pipe=0xc37a7480 xfer=0xc36eb800 status=0 actlen=28 Jun 30 20:16:01 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:01 kirika2 kernel: usbd_start_next: pipe=0xc37a7480, xfer=0 Jun 30 20:16:01 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: ugenioctl: cmd=80045572 Jun 30 20:16:01 kirika2 kernel: ugenioctl: cmd=c018556f Jun 30 20:16:01 kirika2 kernel: usbd_alloc_xfer() = 0xc36eb800 Jun 30 20:16:01 kirika2 kernel: usbd_transfer: xfer=0xc36eb800, flags=6, pipe=0xc37a7480, running=0 Jun 30 20:16:01 kirika2 kernel: usbd_dump_queue: pipe=0xc37a7480 Jun 30 20:16:01 kirika2 kernel: usb_insert_transfer: pipe=0xc37a7480 running=0 timeout=5000 Jun 30 20:16:06 kirika2 kernel: usb_add_task: task=0xc36eb990 Jun 30 20:16:06 kirika2 kernel: usb_task_thread: woke up task=0xc36eb990 Jun 30 20:16:06 kirika2 kernel: usb_transfer_complete: pipe=0xc37a7480 xfer=0xc36eb800 status=15 actlen=0 Jun 30 20:16:06 kirika2 kernel: usb_transfer_complete: repeat=0 new head=0 Jun 30 20:16:06 kirika2 kernel: usbd_start_next: pipe=0xc37a7480, xfer=0 Jun 30 20:16:06 kirika2 kernel: usbd_free_xfer: 0xc36eb800 Jun 30 20:16:06 kirika2 kernel: ugenclose: flag=3, mode=8192, unit=0, endpt=0 Jun 30 20:16:06 kirika2 kernel: ugenclose: close control Jun 30 20:16:33 kirika2 kernel: usb_event_thread: woke up Jun 30 20:16:33 kirika2 kernel: usb_discover Jun 30 20:16:36 kirika2 kernel: usb_event_thread: woke up Jun 30 20:16:36 kirika2 kernel: usb_discover Jun 30 20:17:33 kirika2 kernel: usb_event_thread: woke up Jun 30 20:17:33 kirika2 kernel: usb_discover Jun 30 20:17:36 kirika2 kernel: usb_event_thread: woke up Jun 30 20:17:36 kirika2 kernel: usb_discover Jun 30 20:18:27 kirika2 kernel: netsmb_dev: loaded Jun 30 20:18:33 kirika2 kernel: usb_event_thread: woke up Jun 30 20:18:33 kirika2 kernel: usb_discover Jun 30 20:18:36 kirika2 kernel: usb_event_thread: woke up Jun 30 20:18:36 kirika2 kernel: usb_discover --------------040808090905060105080603--