From owner-freebsd-usb@FreeBSD.ORG Sun May 2 04:40:07 2010 Return-Path: Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0F59A1065672 for ; Sun, 2 May 2010 04:40:07 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id DB27C8FC40 for ; Sun, 2 May 2010 04:40:06 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o424e6lE088457 for ; Sun, 2 May 2010 04:40:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o424e64x088456; Sun, 2 May 2010 04:40:06 GMT (envelope-from gnats) Date: Sun, 2 May 2010 04:40:06 GMT Message-Id: <201005020440.o424e64x088456@freefall.freebsd.org> To: freebsd-usb@FreeBSD.org From: "Peter Toth" Cc: Subject: Re: usb/146104: Samsung YP-U4 mp3 player USB_ERR_TIMEOUT X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Peter Toth List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 May 2010 04:40:07 -0000 The following reply was made to PR usb/146104; it has been noted by GNATS. From: "Peter Toth" To: bug-followup@freebsd.org, peter.toth198@gmail.com Cc: Subject: Re: usb/146104: Samsung YP-U4 mp3 player USB_ERR_TIMEOUT Date: Sun, 02 May 2010 16:13:46 +1200 I will install 8 stable on a spare box and report back. From owner-freebsd-usb@FreeBSD.ORG Mon May 3 11:08:33 2010 Return-Path: Delivered-To: freebsd-usb@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 89D33106564A for ; Mon, 3 May 2010 11:08:33 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 5EACF8FC1A for ; Mon, 3 May 2010 11:08:33 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o43B8Rms033751 for ; Mon, 3 May 2010 11:08:27 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o43B8RCe033749 for freebsd-usb@FreeBSD.org; Mon, 3 May 2010 11:08:27 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 3 May 2010 11:08:27 GMT Message-Id: <201005031108.o43B8RCe033749@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-usb@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-usb@FreeBSD.org 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: Mon, 03 May 2010 11:08:33 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o usb/146153 usb [axe][usb] Hosts in network doesn't receive any packet o usb/146104 usb Samsung YP-U4 mp3 player USB_ERR_TIMEOUT o usb/146054 usb urtw driver potentially out of date o usb/145513 usb [usb8] New USB stack: no new devices after forced usb o usb/145455 usb [usb8] [patch] USB debug support cannot be disabled o usb/145415 usb [umass] USB card reader does not create slices nodes o usb/145265 usb [patch] Freecom USB-IDE bridge o usb/145237 usb [usbdevs] [patch] Add support for Matrix Orbital MOU d o usb/145184 usb GENERIC can't mount root from USB on Asus EEE o usb/145165 usb [keyboard] ukbd_set_leds_callback: error=USB_ERR_STALL f kern/144938 usb [keyboard] [boot] Boot Failure with Apple (MB869LL/A) o usb/144751 usb [ukbd] [usb8] kernel without keyboard support won't co o usb/144423 usb [usb8] [patch] if_run panic with USB-N13 o usb/144414 usb [keyboard] [patch] Apple "Fn" key doesn't work properl o usb/144387 usb [run] [panic] if_run panic f usb/144332 usb [build] Kernel compile fails when aue is enabled but n o usb/144043 usb [umass] USB DLT tape drive throws random errors o usb/143790 usb [boot] can not boot from usb hdd f usb/143634 usb [umass] [usb8] Jetflash USB flash stick fails to mount f usb/143620 usb [cdce] [usb8] the module if_cdce doesn't support my Op o usb/143448 usb [usbdevs] [usb8] [patch] QUIRK: JMicron JM20336 USB/SA f usb/143294 usb [usb8] copying process stops at some time (10 - 50 sec o usb/143286 usb [ukbd] [usb8] [boot] boot failures on RELENG_8 system f usb/143186 usb [usbdevs] [usb8] [patch] add USB device IDs for Google a usb/143139 usb [umass] [usb8] [patch] Quirk for Century EX35SW4_SB4 J o usb/143045 usb [umass] [usb8] [patch] mounting Fujitsu 2600Z camera d o usb/142991 usb [uftdi] [usb67] [patch] Patch to add Crystalfontz 533 f usb/142989 usb [usb8] canon eos 50D attaches but detaches after few s f usb/142957 usb [umass] [usb8] [patch] patch for USB disk SYNCHRONIZE o usb/142719 usb [urtw] [usb8] AirLive WL-1600USB (RTL8187L chipset) fa o usb/142713 usb [usb67] [panic] Kernel Panik when connecting an IPhone f usb/142276 usb [umass] [usb8] Cache Synchronization Error with Olympu o usb/142229 usb [ums] [usb8] [hang] connecting a USB mouse to a Dell P o usb/141680 usb [uath] [usb8] Netgear WG111T not working with uath dri o usb/141664 usb [pcm] [usb8] Logitech USB microphone failure [regressi o usb/141474 usb [boot] [usb8] FreeBSD 8.0 can not install from USB CDR a usb/141467 usb [uftdi] [patch] RATOC REX-USB60F (usb serial converter o usb/141327 usb [ukbd] [usb67] USB kbd not working with 7.1+PAE on IBM o usb/141212 usb [ukbd] [usb8] ukbd_set_leds_callback:700: error=USB_ER o kern/141011 usb [usb] Encrypted root, geli password at boot; enter key o usb/140928 usb [u3g] [usb8] [patch] ZTE CDMA2000 1X EV-DO (MG478/AC87 o usb/140920 usb [install] [usb8] USB based install fails on 8.0-RELEAS o usb/140893 usb [urtw] [usb8] WPA2 not working on rtl8187b f usb/140883 usb [axe] [usb8] USB gigabit ethernet hangs after short pe o kern/140849 usb [ums] [usb8] USB mouse doesn't work under FreeBSD 8.0- a usb/140810 usb [uftdi] [usb8] 8.X copy and paste problem / tty overfl o kern/140614 usb [uplcom] [patch] adding support for Radio Shack Gigwar o usb/140590 usb [bluetooth] [usb8] ng_ubt(4) ng_l2cap_process_cmd_rej o usb/140477 usb [umass] [usb8] [patch] allow boot-time attachment of d o usb/140259 usb [libusb] [patch] [usb8] libusb-1.0 portability/compati o usb/140236 usb [msdosfs] [usb8] Labels wiped on external Journaled US o usb/140160 usb [usb8] [acpi] USB ports are no longer "active" after A s usb/139990 usb [panic] [patch] [usb67] Kernel frequently panics after a usb/139598 usb [umass] [usb8] CAM reports "xptioctl: put "device pass o usb/139243 usb [uhci] [usb67] unplug prolific USB serial -> uhci_abor o usb/138915 usb [patch] [usb8] [usb67] add support for SheevaPlug seri a usb/138904 usb [rum] [panic] [usb67] unpluging USB wifi card panics s f usb/138882 usb [ohci] [panic] [usb67] Can't install FreeBSD 7.2 due t a usb/138879 usb [uftdi] [patch] Patch to add support for CTI USB-Mini o usb/138798 usb [boot] [usb8] 8.0-BETA4 can't boot from USB flash driv o usb/138659 usb [usb8][uftdi] driver broken in RELENG_8/CURRENT o usb/138570 usb [usb] [panic] USB mass device panics current 7.2-STABL o usb/138175 usb [usb67] [boot] System cannot boot, when USB reader wit o usb/138172 usb [u3g] [patch] [usb67] Additional dev id for u3g (Optio o usb/138138 usb [u3g] [patch] [usb67] Novatel U760 for u3g (Verizon an o usb/138124 usb [snd_uaudio] [usb8] Axed uaudio functionality in the u o usb/138119 usb [usb67] [usb8] MultiBay CDROM (probably on USB bus) is o usb/137872 usb [usb67] [boot] slow booting on usb flash drive o usb/137806 usb [ukbd] [usb67] USB keyboard doesn't work until it's un o usb/137763 usb [usb67][ukbd] Logitech wireless keyboard media keys no o usb/137616 usb [usb67][usb8][usbdevs] [patch]: usbdevs update: Please o usb/137377 usb [usb8] request support for Huawei E180 o usb/137341 usb [usb8][rum] driver if_rum doesn't work at all and thro f usb/137190 usb [usb8][patch] inhibit spurious button releases for som o usb/137189 usb [usb8][patch] create and use sysctl nodes for HID repo p usb/137188 usb [usb8][patch] correctly handle USB report descriptors f bin/137180 usb [build] [patch] building world for 8.0-BETA2 fails on o usb/137129 usb [ums] [usb8] SteelSeries Ikari USB laser mouse not att p usb/136761 usb [usbdevs][usb67][patch] Teach usbdevs / u3g(4) about H o usb/135938 usb [aue] [usb67] aue driver only passes traffic in promis o usb/135575 usb [usbdevs] [patch] [usb67] Add HTC Wizard phone vid/pid o usb/135542 usb [keyboard] boot loader does not work with a usb keyboa o usb/135348 usb [umass] [patch] USB Drive Hangs with ZFS (JMicron USB2 o usb/135206 usb machine reboots when inserted USB device o usb/135200 usb SAMSUNG i740 usb mass: Synchronize cache failed, statu o usb/135182 usb UMASS quirk - Olympus FE20 camera o usb/134950 usb Lowering DTR for USB-modem via ubsa is not possible o usb/134633 usb Add support for WILLCOM03(SHARP smart phone) o usb/134631 usb [usbdevs] [patch] WiSPY DBx support requires usb tweak o usb/134299 usb Kernel Panic plugging in MF626 USB UMTS Stick u3g o usb/134193 usb System freeze on usb MP3 player insertion o usb/134117 usb [Patch] Add support for 'Option GlobeTrotter HSDPA Mod o usb/134085 usb [umass] Adding usb quirk for Sony USB flash drive o usb/133989 usb [usb8] [ukbd] USB keyboard dead at mountroot> prompt o usb/133712 usb [ural] [patch] RE: Fixed an issue with ural(4) that wa o usb/133390 usb umass crashes system in 7.1 when Olympus D-540 attache o usb/133296 usb [rum] driver not working properly in hostap mode p usb/132799 usb [usb][patch]GENESYS USB2IDE requires NO_SYNCHRONIZE_CA o usb/132785 usb [usb] [patch] Gemtech remote powersocket is classed as o usb/132594 usb USB subsystem causes page fault and crashes o usb/132312 usb [hang] Xorg 7.4 halts USB controller o usb/132080 usb [patch] [usb] [rum] Kernel panic after NOMEM caused by o usb/132066 usb [ukbd] Keyboard failure USB keyboard DELL 760 o usb/132036 usb [panic] page fault when connecting Olympus C740 camera o usb/131912 usb [uslcom] [patch] New devices using Silicon Labs chips o usb/131900 usb [usbdevs] [patch] Additional product identification co o usb/131583 usb [umass] Failure when detaching umass Device o usb/131576 usb [aue] ADMtek USB To LAN Converter can't send data o usb/131521 usb Registering Belkin UPS to usb_quirks.c o usb/131123 usb [patch] re-add UQ_ASSUME_CM_OVER_DATA USB quirk o usb/131074 usb no run-time detection of usb devices plugged into exte o usb/130736 usb Page fault unplugging USB stick o usb/130230 usb Samsung Electronics YP-U3 does not attach in 7.1-RELEA o usb/130208 usb Boot process severely hampered by umass0 error o usb/130122 usb [usb8] DVD drive detects as 'da' device o usb/129945 usb [usb67] [usbdevs] [patch] add u3g support for Longchee o usb/129766 usb [usb] plugging in usb modem HUAWEI E226 panics system o usb/129758 usb [uftdi] [patch] add Pyramid LCD usb support o usb/129673 usb [uhci] uhci (uhub) confused on replugging USB 1.1 scan o usb/129522 usb [ubsa] [usb67] [patch] add support for ZTE AC8700 mode o usb/129500 usb [umass] [panic] FreeBSD Crashes when connecting SanDis o usb/129311 usb [usb] [panic] Instant crash with an USB card reader o usb/129251 usb [usbdevs] [usb67] [patch] Liebert UPS being assigned u o usb/129173 usb [uplcom] [patch] Add support for Corega CG-USBRS232R a s usb/128990 usb [usb] u3g does not handle RTS/CTS available on for exa o usb/128977 usb [usb67] [patch] uaudio is not full duplex p usb/128803 usb [usbdevs] [patch] Quirk for I-Tuner Networks USBLCD4X2 o usb/128485 usb [umodem] [patch] Nokia N80 modem support o usb/128425 usb [umass] Cannot Connect Maxtor Onetouch 4 USB drive o usb/128418 usb [panic] [rum] loading if_rum causes panic, looks like o usb/128324 usb [uplcom] [patch] remove baud rate restriction for PL23 o usb/127980 usb [umass] [patch] Fix Samsung YP U2 MP3 player on 7.x an o usb/127926 usb [boot] USB Timeout during bootup p usb/127549 usb [umass] [usb67] [patch] Meizu MiniPlayer M6 (SL) requi f usb/127543 usb [patch] [ubsa] Support Option Globetrotter HSDPA modem s usb/127453 usb [request] ubsa, uark, ubser, uftdi, and friends should p docs/127406 usb [patch] update umodem man page: Sony Ericsson W810i o usb/127342 usb [boot] [panic] enabling usb keyboard and mouse support o usb/127248 usb [ucom] panic while uplcom devices attach and detach o usb/127222 usb [ohci] Regression in 7.0 usb storage generic driver o usb/126884 usb [ugen] [patch] Bug in buffer handling in ugen.c o usb/126848 usb [usb]: USB Keyboard hangs during Installation o usb/126740 usb [ulpt] doesn't work on 7.0-RELEASE, 10 second stall be o usb/126519 usb [usb] [panic] panic when plugging in an iphone o kern/126396 usb [panic] kernel panic after unplug USB Bluetooth device o usb/125736 usb [ukbd] [hang] system hangs after AT keyboard detect if o usb/125631 usb [ums] [panic] kernel panic during bootup while 'Logite o usb/125510 usb [panic] repeated plug and unplug of USB mass storage d o usb/125450 usb [panic] Removing USB flash card while being accessed c o usb/125238 usb [ums] Habu Mouse turns off in X o usb/125088 usb [keyboard] Touchpad not detected on Adesso AKB-430UG U o usb/124980 usb [panic] kernel panic on detaching unmounted umass devi o kern/124777 usb [ucom] USB cua devices don't revert to tty devices whe o usb/124758 usb [rum] [panic] rum panics SMP kernel o usb/124708 usb [panic] Kernel panic on USB KVM reattach o usb/124604 usb [ums] Microsoft combo wireless mouse doesn't work o kern/124130 usb [usb] gmirror fails to start usb devices that were pre o usb/123969 usb [usb] Supermicro H8SMi-2 usb problem: port reset faile o usb/123714 usb [usb] [panic] Panic when hald-storage-probe runs with o usb/123691 usb usbd(8): usbd hangs o usb/123690 usb [usb] [panic] Panic on USB device insertion when usb l o usb/123611 usb [usb] BBB reset failed, STALLED from Imation/Mitsumi U o usb/123509 usb [umass] continuous reset Samsung SGH-G600 phone o usb/123352 usb [usbdevs] [patch] Add Option GTMAX3.6/7.2 and Quallcom o usb/123351 usb [usbdevs] [patch] Add Reiner SCT cyberJack, Omnikey [2 o usb/122992 usb [umass] [patch] MotoROKR Z6 Phone not recognised by um o usb/122956 usb [ubsa] [patch] add support for Novatel Wireless XU870 o usb/122936 usb [ucom] [ubsa] Device does not receive interrupt o usb/122905 usb [ubsa] [patch] add Huawei E220 to ubsa o usb/122819 usb [usb] [patch] Patch to provide dynamic additions to th o usb/122813 usb [udbp] [request] udbp driver should be removed in favo o usb/122621 usb [new driver] [patch] New driver for Sierra Wireless 3G o usb/122547 usb [ehci] USB Printer not being recognized after reboot o usb/122539 usb [ohci] [panic] AnyDATA ADU-E1000D - kernel panic: ohci o usb/122483 usb [panic] [ulpt] Repeatable panic in 7.0-STABLE o usb/122119 usb [umass] umass device causes creation of daX but not da o usb/122025 usb [uscanner] [patch] uscanner does not attach to Epson R o usb/121755 usb [ohci] [patch] Fix panic after ohci/uhub cardbus devic o usb/121734 usb [ugen] ugen HP1022 printer device not working since up o usb/121708 usb [keyboard] nforce 650i mobo w/ usb keyboard infinite k o usb/121474 usb [cam] [patch] QUIRK: SAMSUNG HM250JI in LaCie usb hard o usb/121426 usb [patch] [uscanner] add HP ScanJet 3570C o usb/121275 usb [boot] [panic] FreeBSD fails to boot with usb legacy s o usb/121232 usb [usb] [panic] USB CardBus card removal causes reboot s p usb/121184 usb [uipaq] [patch] add ids from linux ipaq driver (plus a o usb/121169 usb [umass] Issues with usb mp3 player o usb/121045 usb [uftdi] [patch] Add support for PC-OP-RS1 and KURO-RS o usb/120786 usb [usb] [panic] Kernel panic when forced umount of a det o usb/120729 usb [panic] fault while in kernel mode with connecting USB o usb/120572 usb [umass] [patch] quirk to support ASUS P535 as umass (a o usb/120321 usb [hang] System hangs when transferring data to WD MyBoo o usb/120283 usb [panic] Automation reboot with wireless keyboard & mou o usb/120034 usb [hang] 6.2 & 6.3 hangs on boot at usb0: OHCI with 1.5 o usb/119981 usb [axe] [patch] add support for LOGITEC LAN-GTJ/U2 gigab o usb/119977 usb [ums] Mouse does not work in a Cherry-USB keyboard/mou o usb/119653 usb [cam] [patch] iriver s7 player sync cache error patch o usb/119633 usb [umass] umass0: BBB reset failed, IOERROR [regression] o usb/119513 usb [irq] inserting dlink dwl-g630 wireless card results i o usb/119509 usb [usb] USB flaky on Dell Optiplex 755 o usb/119481 usb [hang] FreeBSD not responding after connecting USB-Mas o usb/119389 usb [umass] Sony DSC-W1 CBI reset failed, STALLED [regress o usb/119227 usb [ubsa] [patch] ubsa buffer is too small; should be tun o usb/119201 usb [cam] [patch] Quirks for Olympus FE-210 camera, LG and o usb/118485 usb [usbdevs] [patch] Logitech Headset Workaround o usb/118480 usb [umass] Timeout in USB mass storage freezes vfs layer o usb/118353 usb [panic] [ppp] repeatable kernel panic during ppp(4) se o usb/118141 usb [ucom] usb serial and nokia phones ucomreadcb ucomread o usb/118140 usb [ucom] [patch] quick hack for ucom to get it behave wi o usb/118098 usb [umass] 6th gen iPod causes problems when disconnectin o usb/117955 usb [umass] [panic] inserting minolta dimage a2 crashes OS o usb/117946 usb [panic] D-Link DUB-E100 rev. B1 crashes FreeBSD 7.0-BE o usb/117938 usb [ums] [patch] Adding support for MS WL Natural and MS o usb/117911 usb [ums] [request] Mouse Gembird MUSWC not work o usb/117893 usb [umass] Lacie USB DVD writing failing o usb/117613 usb [uhci] [irq] uhci interrupt storm & USB leaked memory o usb/117598 usb [snd_uaudio] [patch] Not possible to record with Plant o usb/117313 usb [umass] [panic] panic on usb camera insertion o usb/117200 usb [ugen] ugen0 prints strange string on attach if detach o usb/117183 usb [panic] USB/fusefs -- panic while transferring large a o usb/116947 usb [ukbd] [patch] [regression] enable boot protocol on th o usb/116699 usb [usbhid] USB HID devices do not initialize at system b o usb/116561 usb [umodem] [panic] RELENG_6 umodem panic "trying to slee o usb/116282 usb [ulpt] Cannot print on USB HP LJ1018 or LJ1300 o usb/115935 usb [usbdevs] [patch] kernel counterproductively attaches o usb/115933 usb [uftdi] [patch] RATOC REX-USB60F (usb serial converter o usb/115400 usb [ehci] Problem with EHCI on ASUS M2N4-SLI o usb/115298 usb [ulpt] [panic] Turning off USB printer panics kernel o usb/114916 usb [umass] [patch] USB Maxtor drive (L300RO) requires qui o kern/114780 usb [uplcom] [panic] Panics while stress testing the uplco o usb/114682 usb [umass] generic USB media-card reader unusable o usb/114310 usb [libusb] [patch] [panic] USB hub attachment panics ker o usb/114068 usb [usb67] [usb8] [umass] [patch] Problem with connection o conf/114013 usb [patch] WITHOUT_USB allow to compil a lot of USB stuff o usb/113060 usb [usb67] [ulpt] [patch] Samsung printer not working in o usb/110856 usb [usb67] [ugen] [patch] interrupt in msgs are truncated s usb/108344 usb [usb67] [atausb] [panic] kernel with atausb panics whe o usb/107827 usb [usb67] [ohci] [panic] ohci_add_done addr not found o usb/107388 usb [usb67] [usb8] [new driver] [patch] add utoppy device o usb/107243 usb [usb67] [cam] [quirk] [patch] Apacer USB Flash Drive q o usb/106041 usb [usb67] [usb8] [request] FreeBSD does not recognise Mu o usb/105361 usb [usb67] [panic] Kernel panic during unmounting mass st s usb/103917 usb [usb67] [uhub] USB driver reports "Addr 0 should never o usb/103418 usb [usb67] [usb8] [patch] [request] usbhidctl(8) add abil o usb/103046 usb [usb67] [ulpt] [patch] ulpt event driven I/O with sele o usb/101775 usb [usb67] [usb8] [libusbhid] [patch] possible error in r o usb/101761 usb [usb67] [patch] [request] usb.h: increase maximal size o usb/100746 usb [usb67] [ukbd] system does not boot due to USB keyboar o usb/99538 usb [keyboard] while using USB keyboard default params of o usb/99431 usb [keyboard] FreeBSD on MSI 6566E (Intel 845E motherboar o kern/99200 usb [bluetooth] SMP-Kernel crashes reliably when Bluetooth o usb/98343 usb [boot] BBB reset failed errors with Creative Muvo MP3 o usb/97472 usb [cam] [patch] add support for Olympus C150,D390 s usb/97286 usb [mouse] [request] MS Wireless Intellimouse Explorer 2. o usb/97175 usb [umass] [hang] USB cardreader hangs system o usb/96457 usb [umass] [panic] fatback on umass = reboot o usb/96381 usb [cam] [patch] add a quirk table entry for a flash ram o usb/96224 usb [usb] [msdosfs] mount_msdosfs cause page fault in sync s usb/96120 usb [ums] [request] USB mouse not always detected s usb/95636 usb [umass] [boot] 5 minute delay at boot when using VT620 o usb/95562 usb [umass] Write Stress in USB Mass drive causes "vinvalb s usb/95348 usb [keyboard] USB keyboard unplug causes noise on screen o usb/95037 usb [umass] USB disk not recognized on hot-plug. o usb/94897 usb [panic] Kernel Panic when cleanly unmounting USB disk o usb/94717 usb [ulpt] Reading from /dev/ulpt can break work of a UHCI o usb/94384 usb [panic] kernel panic with usb2 hardware o usb/93872 usb [cam] [patch] SCSI quirk required for ELTA 8061 OL USB o usb/93828 usb [ohci] [panic] ohci causes panic on boot (HP Pavillion o usb/93389 usb [umass] [patch] Digital Camera Pentax S60 don't work o usb/92852 usb [ums] [patch] Vertical scroll not working properly on o usb/92171 usb [panic] panic unplugging Vodafone Mobile Connect (UMTS o usb/92142 usb [uhub] SET_ADDR_FAILED and SHORT_XFER errors from usb o usb/92083 usb [ural] [panic] panic using WPA on ural NIC in 6.0-RELE o usb/92052 usb [ulpt] usbd causes defunct process with busy file-hand o usb/91906 usb [ehci] [hang] FreeBSD hangs while booting with USB leg o usb/91896 usb camcontrol(8): Serial Number of USB Memory Sticks is n o usb/91811 usb [umass] Compact Flash in HP Photosmart 2610 return " o usb/91629 usb [usb] usbd_abort_pipe() may result in infinite loop o usb/91546 usb [umodem] [patch] Nokia 6630 mobile phone does not work o usb/91538 usb [ulpt] [patch] Unable to print to EPSON CX3500 o usb/91283 usb [boot] [regression] booting very slow with usb devices o usb/91238 usb [umass] USB tape unit fails to write a second tape fil o usb/90700 usb [umass] [panic] Kernel panic on connect/mount/use umas o usb/89954 usb [umass] [panic] USB Disk driver race condition? s usb/89003 usb [request] LaCie Firewire drive not properly supported o usb/88743 usb [hang] [regression] USB makes kernel hang at boot (reg o usb/88408 usb [axe] axe0 read PHY failed o usb/87648 usb [mouse] Logitech USB-optical mouse problem. o usb/87224 usb [usb] Cannot mount USB Zip750 o usb/86767 usb [umass] [patch] bogus "slice starts beyond end of the o usb/86298 usb [mouse] Known good USB mouse won't work with correct s s usb/85067 usb [uscanner] Cannot attach ScanJet 4300C to usb device f usb/84750 usb [hang] 6-BETA2 reboot/shutdown with root_fs on externa s usb/84336 usb [usb] [reboot] instant system reboot when unmounting a o usb/83977 usb [ucom] [panic] ucom1: open bulk out error (addr 2): IN o usb/83863 usb [ugen] Communication problem between opensc/openct via o usb/83756 usb [ums] [patch] Microsoft Intellimouse Explorer 4.0A doe o usb/83563 usb [umass] [panic] Page Fault while detaching Mpman Usb d o usb/83504 usb [kernel] [patch] SpeedTouch USB stop working on recent o usb/82660 usb [ehci] [panic] EHCI: I/O stuck in state 'physrd'/panic s usb/82569 usb [umass] [panic] USB mass storage plug/unplug causes sy o usb/82520 usb [udbp] [reboot] Reboot when USL101 connected o usb/82350 usb [ucom] [panic] null pointer dereference in USB stack o usb/81621 usb [ehci] [hang] external hd hangs under load on ehci o usb/80935 usb [uvisor] [patch] uvisor.c is not work with CLIE TH55. o usb/80862 usb [patch] USB locking issues: missing some Giant calls o usb/80854 usb [patch] [request] suggestion for new iface-no-probe me o usb/80829 usb [modules] [panic] possible panic when loading USB-modu s usb/80777 usb [request] usb_rem_task() should wait for callback to c s usb/80776 usb [udav] [request] UDAV device driver shouldn't use usb_ o usb/80774 usb [patch] have "usbd_find_desc" in line with the other " o usb/80361 usb [umass] [patch] mounting of Dell usb-stick fails o usb/80040 usb [sound] [hang] Use of sound mixer causes system freeze o usb/79723 usb [usb] [request] prepare for high speed isochronous tra o usb/79722 usb [ehci] wrong alignments in ehci.h a usb/79656 usb [ehci] RHSC interrupts lost o usb/79524 usb [ulpt] printing to Minolta PagePro 1[23]xxW via USB fa o usb/79287 usb [uhci] [hang] UHCI hang after interrupt transfer o usb/79269 usb [ohci] USB ohci da0 plug/unplug causes crashes and loc o usb/78984 usb [umass] [patch] Creative MUVO umass failure o usb/77294 usb [ucom] [panic] ucom + ulpcom panic o usb/77184 usb [umass] [panic] kernel panic on USB device disconnect, o usb/76732 usb [ums] Mouse problems with USB KVM Switch o usb/76653 usb [umass] [patch] Problem with Asahi Optical usb device o usb/76461 usb [umass] disklabel of umass(4)-CAM(4)-da(4) not used by o usb/76395 usb [uhci] USB printer does not work, usbdevs says "addr 0 s usb/75928 usb [umass] [request] Cytronix SmartMedia card (SMC) reade o usb/75800 usb [ucom] ucom1: init failed STALLED error in time of syn o usb/75797 usb [sound] [regression] 5.3-STABLE(2005 1/4) detect USB h o usb/75764 usb [umass] [patch] "umass0: Phase Error" - no device for o usb/75705 usb [umass] [panic] da0 attach / Optio S4 (with backtrace) o usb/74771 usb [umass] [hang] mounting write-protected umass device a s usb/74453 usb [umass] [patch] Q-lity CD-RW USB ECW-043 (ScanLogic SL o usb/74211 usb [umass] USB flash drive causes CAM status 0x4 on 4.10R o usb/73307 usb [panic] Kernel panics on USB disconnect s usb/72733 usb [ucom] [request] Kyocera 7135 Palm OS connection probl o usb/71455 usb [umass] Slow USB umass performance of 5.3 o usb/71417 usb [ugen] Cryptoflex e-gate USB token (ugen0) communicati o usb/71416 usb [ugen] Cryptoflex e-gate USB token (ugen0) detach is n o usb/71280 usb [aue] aue0 device (linksys usb100tx) doesn't work in 1 o usb/71155 usb [ulpt] misbehaving usb-printer hangs processes, causes o usb/70523 usb [umct] [patch] umct sending/receiving wrong characters o usb/69006 usb [usbdevs] [patch] Apple Cinema Display hangs USB ports o usb/68232 usb [ugen] [patch] ugen(4) isochronous handling correction o usb/67301 usb [uftdi] [panic] RTS and system panic o usb/66547 usb [ucom] Palm Tungsten T USB does not initialize correct o usb/63621 usb [umass] [panic] USB MemoryStick Reader stalls/crashes s usb/62257 usb [umass] [request] card reader UCR-61S2B is only half-s o usb/59698 usb [keyboard] [patch] Rework of ukbd HID to AT code trans s bin/57255 usb [patch] usbd(8) and multi-function devices s usb/52026 usb [usb] [request] umass driver support for InSystem ISD2 s usb/51958 usb [urio] [patch] update for urio driver o i386/46371 usb USB controller cannot be initialized on IBM Netfinity o usb/40948 usb [umass] [request] USB HP CDW8200 does not work o usb/30929 usb [usb] [patch] use usbd to initialize USB ADSL modem 354 problems total. From owner-freebsd-usb@FreeBSD.ORG Tue May 4 15:18:48 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 36D0E1065676 for ; Tue, 4 May 2010 15:18:48 +0000 (UTC) (envelope-from anonymous@ryan.hostorama.com) Received: from ryan.hostorama.com (ryan-99.hostorama.com [80.74.152.99]) by mx1.freebsd.org (Postfix) with ESMTP id 9DD208FC1E for ; Tue, 4 May 2010 15:18:47 +0000 (UTC) Received: (qmail 31100 invoked by uid 10149); 4 May 2010 17:04:28 +0200 Date: 4 May 2010 17:04:28 +0200 Message-ID: <20100504150428.31096.qmail@ryan.hostorama.com> To: freebsd-usb@freebsd.org From: hi5 MIME-Version: 1.0 Content-Type: text/plain X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Jennifer has sent you a hi5 Friend Request 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, 04 May 2010 15:18:48 -0000 hi5 Friend Request from Jennifer Hi , I'd like to add you to my hi5 friends network. You have to confirm that we are friends, and we'll each get to meet more people. Please approve or reject my request by accessing the hi5 web site: [1]View Friend Request» Thanks, Jennifer [2][FFVbfc132550-01.jpg] ------------------------------------------------------ Copyright 2002-2010 hi5 Networks, Inc. All rights reserved. 55 Second Street, Suite 400, San Francisco, CA 94105 [3]Privacy Policy | [4]Unsubscribe | [5]Terms of Service [to.do?loginid=&smid=T0xEX1NNSUQ9XzIwN18mVkVSU0lPTj0xJkNPTlRBSU5TX 0FEPWZhbHNlJlRPX0lEPTQ3MDk5MDgyNiZEQVRFX1NFTlQ9MjAxMDA0MjMwNyZTVUJUWVB FPSZNSUQ9YzBMM1p1OFRoSFVBV0s1N2RmUUQ3MjQwOTU5NzgmVFlQRT0yMDc.] References 1. http://www.myfreecams.com/?baf=3136810 2. http://www.myfreecams.com/?baf=3136810 3. http://www.myfreecams.com/?baf=3136810 4. http://www.myfreecams.com/?baf=3136810 5. http://www.myfreecams.com/?baf=3136810 From owner-freebsd-usb@FreeBSD.ORG Tue May 4 20:27:44 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A55F31065706 for ; Tue, 4 May 2010 20:27:44 +0000 (UTC) (envelope-from mike@sentex.net) Received: from lava.sentex.ca (pyroxene.sentex.ca [199.212.134.18]) by mx1.freebsd.org (Postfix) with ESMTP id 762B68FC13 for ; Tue, 4 May 2010 20:27:44 +0000 (UTC) Received: from mdt-xp.sentex.net (simeon.sentex.ca [192.168.43.27]) by lava.sentex.ca (8.14.3/8.14.3) with ESMTP id o44KRete011712; Tue, 4 May 2010 16:27:40 -0400 (EDT) (envelope-from mike@sentex.net) Message-Id: <201005042027.o44KRete011712@lava.sentex.ca> X-Mailer: QUALCOMM Windows Eudora Version 7.1.0.9 Date: Tue, 04 May 2010 16:27:41 -0400 To: Hans Petter Selasky From: Mike Tancsa In-Reply-To: <200912140948.08171.hselasky@c2i.net> References: <43EC7D78-31E5-4B86-9316-002AE650727A@tlb.org> <20091214074204.GW64905@hoeg.nl> <200912140948.08171.hselasky@c2i.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Cc: freebsd-usb@freebsd.org Subject: Re: USB serial device naming 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, 04 May 2010 20:27:44 -0000 At 04:48 AM 12/14/2009, Hans Petter Selasky wrote: >On Monday 14 December 2009 08:42:04 Ed Schouten wrote: > > Hello Trevor, > > > > * Trevor Blackwell wrote: > > > I can't seem to find a way to match USB serial ports & tty names. I > > > have two serial USB devices, which I can distinguish easily from > > > "usbconfig show_ifdrv" > > > > > > > > > > > > and they result in two ttys: > > > /dev/cuaU0 > > > /dev/cuaU1 > > > > Be sure to keep in mind: the `real' TTY devices are ttyU0 and ttyU1. The > > cua* devices are callout devices, which unlike the tty* devices don't > > wait for a carrier detect signal during open(). > > > > My opinion is that the USB serial driver shouldn't use a bitmask to keep > > track of which unit number are available, because we've got a nice KPI > > for that: > > > > http://www.freebsd.org/cgi/man.cgi?query=new_unrhdr > > > > Unfortunately I cannot answer your question. Hopefully Hans can. ;-) > >That's OK, but the real problem is that TTY is not a visible child of UPLCOM >for example. I would suggest adding a new IOCTL or maybe you have a better >idea, where we can pass the "device_get_nameunit()" string, and then TTY can >store it and pass it to userland. > >Also TTY should have a printout in dmesg, which unit is create if this string >is specified. I think I am running into a similar problem in this old thread. But in my case, I am trying to identify the umodem type device. I have a few firewalls in the field that have a USB dialup modem and various u3g type devices that are attached. With the u3g devices in particular, they can sometimes show up as /dev/cuaU#.# or just /dev/cuaU# where as the modem shows up as /dev/cuaU#. I have to fire up different copies of ppp based on the device and modem they attach to. The problem I have is there seems to be no way of knowing which physical device corresponds to which /dev/cuaU#.# file interface. eg What is the safest way to find out that /dev/cuaU1 is the ZTE stick in this case ? Another model of ZTE shows up as /dev/cuaU2.0 which nothing on /dev/cuaU1 oddly enough. # usbconfig show_ifdrv ugen0.1: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen0.1.0: uhub0: ugen1.1: at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON ugen1.1.0: uhub1: ugen1.2: at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON ugen1.2.0: umodem0: ugen0.2: at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON ugen1.3: at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON ugen1.3.0: u3g0: ugen1.3.2: umass0: # ls -l /dev/cuaU* crw-rw---- 1 uucp dialer - 0, 78 May 4 16:10 /dev/cuaU0 crw-rw---- 1 uucp dialer - 0, 79 May 4 09:19 /dev/cuaU0.init crw-rw---- 1 uucp dialer - 0, 80 May 4 09:19 /dev/cuaU0.lock crw-rw---- 1 uucp dialer - 0, 104 May 4 16:10 /dev/cuaU1 crw-rw---- 1 uucp dialer - 0, 105 May 4 09:19 /dev/cuaU1.init crw-rw---- 1 uucp dialer - 0, 106 May 4 09:19 /dev/cuaU1.lock nothing in sysctl unfortunately dev.umodem.0.%desc: AltIf0 dev.umodem.0.%driver: umodem dev.umodem.0.%location: port=2 interface=0 dev.umodem.0.%pnpinfo: vendor=0x0baf product=0x0303 devclass=0x02 devsubclass=0x00 sernum="0000002" release=0x0200 intclass=0x02 intsubclass=0x02 dev.umodem.0.%parent: uhub1 dev.u3g.0.%desc: ZTE, Incorporated ZTE CDMA Technologies MSM, class 0/0, rev 2.00/0.00, addr 3 dev.u3g.0.%driver: u3g dev.u3g.0.%location: port=1 interface=0 dev.u3g.0.%pnpinfo: vendor=0x19d2 product=0x0031 devclass=0x00 devsubclass=0x00 sernum="1234567890ABCDEF" release=0x0000 intclass=0xff intsubclass=0xff it would be great if there were something like dev.u3g.0.%fileinterface=/dev/cuaU1 or perhaps somewhere in devinfo ? umodem0 pnpinfo vendor=0x0baf product=0x0303 devclass=0x02 devsubclass=0x00 sernum="0000002" release=0x0200 intclass=0x02 intsubclass=0x02 at port=2 interface=0 u3g0 pnpinfo vendor=0x19d2 product=0x0031 devclass=0x00 devsubclass=0x00 sernum="1234567890ABCDEF" release=0x0000 intclass=0xff intsubclass= at port=1 interface=0 ugen1.2: at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0043 bNumInterfaces = 0x0002 bConfigurationValue = 0x0002 iConfiguration = 0x0000 bmAttributes = 0x0080 bMaxPower = 0x00b4 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0002 bInterfaceSubClass = 0x0002 bInterfaceProtocol = 0x0001 iInterface = 0x0005 Additional Descriptor bLength = 0x05 bDescriptorType = 0x24 bDescriptorSubType = 0x00 RAW dump: 0x00 | 0x05, 0x24, 0x00, 0x01, 0x10 Additional Descriptor bLength = 0x05 bDescriptorType = 0x24 >--HPS > >_______________________________________________ >freebsd-usb@freebsd.org mailing list >http://lists.freebsd.org/mailman/listinfo/freebsd-usb >To unsubscribe, send any mail to "freebsd-usb-unsubscribe@freebsd.org" -------------------------------------------------------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike@sentex.net Providing Internet since 1994 www.sentex.net Cambridge, Ontario Canada www.sentex.net/mike From owner-freebsd-usb@FreeBSD.ORG Wed May 5 07:55:05 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EF12F106566B; Wed, 5 May 2010 07:55:05 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe02.swip.net [212.247.154.33]) by mx1.freebsd.org (Postfix) with ESMTP id 56CF88FC12; Wed, 5 May 2010 07:55:04 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=8nJEP1OIZ-IA:10 a=M8b_wTzEtboA:10 a=MnI1ikcADjEx7bvsp0jZvQ==:17 a=l4N0uOd7h0ByqcQofBYA:9 a=DEaabf9ywbeD6OYT3rCMzn__7QkA:4 a=wPNLvfGTeEIA:10 a=lmvoW9FAr5kcMDvW:21 a=z0HoKoEgx80dcbsC:21 Received: from [188.126.201.140] (account mc467741@c2i.net HELO laptop002.hselasky.homeunix.org) by mailfe02.swip.net (CommuniGate Pro SMTP 5.2.19) with ESMTPA id 1374643650; Wed, 05 May 2010 09:55:03 +0200 From: Hans Petter Selasky To: Mike Tancsa Date: Wed, 5 May 2010 09:52:15 +0200 User-Agent: KMail/1.12.4 (FreeBSD/8.0-STABLE; KDE/4.3.4; amd64; ; ) References: <43EC7D78-31E5-4B86-9316-002AE650727A@tlb.org> <200912140948.08171.hselasky@c2i.net> <201005042027.o44KRete011712@lava.sentex.ca> In-Reply-To: <201005042027.o44KRete011712@lava.sentex.ca> X-Face: +~\`s("[*|O,="7?X@L.elg*F"OA\I/3%^p8g?ab%RN'(; _IjlA: hGE..Ew, XAQ*o#\/M~SC=S1-f9{EzRfT'|Hhll5Q]ha5Bt-s|oTlKMusi:1e[wJl}kd}GR Z0adGx-x_0zGbZj'e(Y[(UNle~)8CQWXW@:DX+9)_YlB[tIccCPN$7/L' MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201005050952.15632.hselasky@c2i.net> Cc: Andrew Thompson , freebsd-usb@freebsd.org Subject: Re: USB serial device naming 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: Wed, 05 May 2010 07:55:06 -0000 Hi, Maybe you can make PR on the issue and assign it to USB. Currently there is no way of knowing which /dev/cuaUXXX belongs to which USB device. Probably we can add the USB bus and address number as a part of the device coordinates. So that /dev/ugen1.1 only creates /dev/cuaU1.1.xxx entries. And then we can also remove the current unit number allocation structure I guess, if we use: /dev/cuaU1.1.. The only problem is: Will we break any existing applications? The second problem was that the USB attach event was generated before the modem was probed and the umodem and other modem drivers do not provide any information about their USB address in the pnpinfo. This can be fixed. Old pnpinfo: dev.ums.0.%pnpinfo: vendor=0x0 product=0x0 devclass=0x00 devsubclass=0x00 sernum="" release=0x0200 intclass=0x03 intsubclass=0x01 Suggested new pnpinfo (which is available from devd.conf I guess) dev.ums.0.%pnpinfo: vendor=0x0 product=0x0 devclass=0x00 devsubclass=0x00 sernum="" release=0x0200 intclass=0x03 intsubclass=0x01 bus=1 addr=2 ifaceidx=0 What do you think? --HPS From owner-freebsd-usb@FreeBSD.ORG Wed May 5 08:44:54 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BA2FC106566B for ; Wed, 5 May 2010 08:44:54 +0000 (UTC) (envelope-from freebsd-usb@dino.sk) Received: from loki.netlab.sk (loki.netlab.sk [84.245.65.11]) by mx1.freebsd.org (Postfix) with ESMTP id 44A4C8FC0C for ; Wed, 5 May 2010 08:44:53 +0000 (UTC) Received: from fw1.dino.sk (fw1.dino.sk [84.245.95.252]) (AUTH: LOGIN milan, TLS: TLSv1/SSLv3,256bits,AES256-SHA) by loki.netlab.sk with esmtp; Wed, 05 May 2010 10:43:39 +0200 id 0002E187.4BE12FBB.00002CCC From: Milan Obuch To: freebsd-usb@freebsd.org Date: Wed, 5 May 2010 10:46:30 +0200 User-Agent: KMail/1.9.10 References: <43EC7D78-31E5-4B86-9316-002AE650727A@tlb.org> <201005042027.o44KRete011712@lava.sentex.ca> <201005050952.15632.hselasky@c2i.net> In-Reply-To: <201005050952.15632.hselasky@c2i.net> X-Face: #.82A~?`t~x[OKOO/VQ$LB:#W:[KnFgA8on=vx$ji1k|N(Jtn]{Rf:p1*Cd>=?iso-8859-1?q?*=5B=5B=0A=09UQMwF+?="+(H(z8O%>/7rv9J>j8s=K}WNeL,&3}Ay+\f,I|yW; xB7Ceq"9mH12,Sn4us|/>=?iso-8859-1?q?W=0A=09YPt=5E=3Fy=7DEm=3DX=5CKugpo=273?=>^t=xQWh&fxn&yTG\*B'Ult040wcquXk MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <201005051046.31093.freebsd-usb@dino.sk> Cc: Andrew Thompson Subject: Re: USB serial device naming 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: Wed, 05 May 2010 08:44:54 -0000 On Wednesday 05 May 2010 09:52:15 Hans Petter Selasky wrote: > Hi, > > Maybe you can make PR on the issue and assign it to USB. Currently there is > no way of knowing which /dev/cuaUXXX belongs to which USB device. Probably > we can add the USB bus and address number as a part of the device > coordinates. So that /dev/ugen1.1 only creates /dev/cuaU1.1.xxx entries. > And then we can also remove the current unit number allocation structure I > guess, if we use: > > /dev/cuaU1.1.. > > The only problem is: Will we break any existing applications? > Well, yes, to some extent :) Problem with this naming convention is name changes with every port change - that is, if you pull USB cable out and plug it in another port. There was already some older thread about naming on freebsd-usb list (end of April 2009). But if devd receives all necessary informations in attach event, then it is possible to rewrite config files or create symlink in /dev directory or something like this to handle this situation. > The second problem was that the USB attach event was generated before the > modem was probed and the umodem and other modem drivers do not provide any > information about their USB address in the pnpinfo. This can be fixed. > > Old pnpinfo: > > dev.ums.0.%pnpinfo: vendor=0x0 product=0x0 devclass=0x00 devsubclass=0x00 > sernum="" release=0x0200 intclass=0x03 intsubclass=0x01 > > Suggested new pnpinfo (which is available from devd.conf I guess) > > dev.ums.0.%pnpinfo: vendor=0x0 product=0x0 devclass=0x00 devsubclass=0x00 > sernum="" release=0x0200 intclass=0x03 intsubclass=0x01 bus=1 addr=2 > ifaceidx=0 > This would be good thing to do I think. Just a typo spot here - ums means USB mouse driver, I think, but this idea is worth evaluating. My sole concern is use somehow stable names for situations when more than one serial port (serial USB cable, u3g modem etc) is attached so each device is properly used in correct program. Regards, Milan From owner-freebsd-usb@FreeBSD.ORG Wed May 5 10:03:30 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6D68D1065676; Wed, 5 May 2010 10:03:30 +0000 (UTC) (envelope-from ray@dlink.ua) Received: from dlink.ua (smtp.dlink.ua [193.138.187.146]) by mx1.freebsd.org (Postfix) with ESMTP id 34EE18FC0C; Wed, 5 May 2010 10:03:28 +0000 (UTC) Received: from gw ([192.168.10.10] helo=terran) by dlink.ua with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1O9ag2-0002Q7-7g; Wed, 05 May 2010 12:13:58 +0300 Date: Wed, 5 May 2010 12:18:41 +0300 From: Alexandr Rybalko To: Milan Obuch Message-Id: <20100505121841.ce3cf358.ray@dlink.ua> In-Reply-To: <201005051046.31093.freebsd-usb@dino.sk> References: <43EC7D78-31E5-4B86-9316-002AE650727A@tlb.org> <201005042027.o44KRete011712@lava.sentex.ca> <201005050952.15632.hselasky@c2i.net> <201005051046.31093.freebsd-usb@dino.sk> Organization: D-Link X-Mailer: Sylpheed 2.7.1 (GTK+ 2.16.6; i386-portbld-freebsd8.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Andrew Thompson , freebsd-usb@freebsd.org Subject: Re: USB serial device naming 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: Wed, 05 May 2010 10:03:30 -0000 Hi, On Wed, 5 May 2010 10:46:30 +0200 Milan Obuch wrote: >> On Wednesday 05 May 2010 09:52:15 Hans Petter Selasky wrote: >> > Hi, >> > >> > Maybe you can make PR on the issue and assign it to USB. Currently there is >> > no way of knowing which /dev/cuaUXXX belongs to which USB device. Probably >> > we can add the USB bus and address number as a part of the device >> > coordinates. So that /dev/ugen1.1 only creates /dev/cuaU1.1.xxx entries. >> > And then we can also remove the current unit number allocation structure I >> > guess, if we use: >> > >> > /dev/cuaU1.1.. >> > >> > The only problem is: Will we break any existing applications? >> > >> >> Well, yes, to some extent :) Problem with this naming convention is name >> changes with every port change - that is, if you pull USB cable out and plug >> it in another port. There was already some older thread about naming on >> freebsd-usb list (end of April 2009). But if devd receives all necessary >> informations in attach event, then it is possible to rewrite config files or >> create symlink in /dev directory or something like this to handle this >> situation. I think better way is use device connection path in name. User know to which port of hub they attach device, so name like /dev/cuaU.h0p1.h2p3 (root hub 0, port 1, hub 2, port 3 ) have all information user need and this name not changing between reboot`s. May by we have way make naming more simple, but we really need path somewhere in device name. >> >> > The second problem was that the USB attach event was generated before the >> > modem was probed and the umodem and other modem drivers do not provide any >> > information about their USB address in the pnpinfo. This can be fixed. >> > >> > Old pnpinfo: >> > >> > dev.ums.0.%pnpinfo: vendor=0x0 product=0x0 devclass=0x00 devsubclass=0x00 >> > sernum="" release=0x0200 intclass=0x03 intsubclass=0x01 >> > >> > Suggested new pnpinfo (which is available from devd.conf I guess) >> > >> > dev.ums.0.%pnpinfo: vendor=0x0 product=0x0 devclass=0x00 devsubclass=0x00 >> > sernum="" release=0x0200 intclass=0x03 intsubclass=0x01 bus=1 addr=2 >> > ifaceidx=0 >> > >> >> This would be good thing to do I think. Just a typo spot here - ums means USB >> mouse driver, I think, but this idea is worth evaluating. >> >> My sole concern is use somehow stable names for situations when more than one >> serial port (serial USB cable, u3g modem etc) is attached so each device is >> properly used in correct program. >> >> Regards, >> Milan >> _______________________________________________ >> freebsd-usb@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-usb >> To unsubscribe, send any mail to "freebsd-usb-unsubscribe@freebsd.org" -- Alexandr Rybalko aka Alex RAY From owner-freebsd-usb@FreeBSD.ORG Wed May 5 20:00:09 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B113F1065675; Wed, 5 May 2010 20:00:09 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe14.tele2.se [212.247.155.161]) by mx1.freebsd.org (Postfix) with ESMTP id 0B99D8FC1B; Wed, 5 May 2010 20:00:08 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=8nJEP1OIZ-IA:10 a=M8b_wTzEtboA:10 a=MnI1ikcADjEx7bvsp0jZvQ==:17 a=6I5d2MoRAAAA:8 a=ADOy9fNXOMf0pQxzCukA:9 a=Kb7dlO0ZRpgu8p5K9OEFbxrmbHwA:4 a=wPNLvfGTeEIA:10 Received: from [188.126.201.140] (account mc467741@c2i.net HELO laptop002.hselasky.homeunix.org) by mailfe14.swip.net (CommuniGate Pro SMTP 5.2.19) with ESMTPA id 621475773; Wed, 05 May 2010 22:00:06 +0200 From: Hans Petter Selasky To: Milan Obuch Date: Wed, 5 May 2010 21:57:20 +0200 User-Agent: KMail/1.12.4 (FreeBSD/8.0-STABLE; KDE/4.3.4; amd64; ; ) References: <43EC7D78-31E5-4B86-9316-002AE650727A@tlb.org> <201005050952.15632.hselasky@c2i.net> <201005051046.31093.freebsd-usb@dino.sk> In-Reply-To: <201005051046.31093.freebsd-usb@dino.sk> X-Face: +~\`s("[*|O,="7?X@L.elg*F"OA\I/3%^p8g?ab%RN'(; _IjlA: hGE..Ew, XAQ*o#\/M~SC=S1-f9{EzRfT'|Hhll5Q]ha5Bt-s|oTlKMusi:1e[wJl}kd}GR Z0adGx-x_0zGbZj'e(Y[(UNle~)8CQWXW@:DX+9)_YlB[tIccCPN$7/L' MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201005052157.20060.hselasky@c2i.net> Cc: Andrew Thompson , freebsd-usb@freebsd.org Subject: Re: USB serial device naming 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: Wed, 05 May 2010 20:00:09 -0000 Hi, Thanks for all good ideas. Can you give some feedback on the following solution: http://p4web.freebsd.org/@@177779?ac=10 --HPS From owner-freebsd-usb@FreeBSD.ORG Thu May 6 07:50:03 2010 Return-Path: Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A0BF91065700 for ; Thu, 6 May 2010 07:50:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 90B748FC18 for ; Thu, 6 May 2010 07:50:03 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o467o3WN038212 for ; Thu, 6 May 2010 07:50:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o467o3gs038211; Thu, 6 May 2010 07:50:03 GMT (envelope-from gnats) Date: Thu, 6 May 2010 07:50:03 GMT Message-Id: <201005060750.o467o3gs038211@freefall.freebsd.org> To: freebsd-usb@FreeBSD.org From: "Peter Toth" Cc: Subject: Re: usb/146104: Samsung YP-U4 mp3 player USB_ERR_TIMEOUT X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Peter Toth List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 May 2010 07:50:03 -0000 The following reply was made to PR usb/146104; it has been noted by GNATS. From: "Peter Toth" To: bug-followup@freebsd.org, peter.toth198@gmail.com Cc: Subject: Re: usb/146104: Samsung YP-U4 mp3 player USB_ERR_TIMEOUT Date: Thu, 06 May 2010 19:44:36 +1200 Just managed to try it on FreeBSD 8.0-STABLE/i386. Works fine, although it shows some errors, see bellow. ugen4.2: at usbus4 umass0: on usbus4 umass0: SCSI over Bulk-Only; quirks = 0x0000 umass0:0:0:-1: Attached to scbus0 da0 at umass-sim0 bus 0 scbus0 target 0 lun 0 da0: Removable Direct Access SCSI-2 device da0: 40.000MB/s transfers da0: 3816MB (7816992 512 byte sectors: 255H 63S/T 486C) (da0:umass-sim0:0:0:0): SYNCHRONIZE CACHE(10). CDB: 35 0 0 0 0 0 0 0 0 0 (da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:c,2 (Write error - auto reallocation failed) (da0:umass-sim0:0:0:0): SYNCHRONIZE CACHE(10). CDB: 35 0 0 0 0 0 0 0 0 0 (da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:c,2 (Write error - auto reallocation failed) (da0:umass-sim0:0:0:0): SYNCHRONIZE CACHE(10). CDB: 35 0 0 0 0 0 0 0 0 0 (da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:c,2 (Write error - auto reallocation failed) From owner-freebsd-usb@FreeBSD.ORG Thu May 6 08:47:14 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 65D83106564A for ; Thu, 6 May 2010 08:47:14 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe06.swip.net [212.247.154.161]) by mx1.freebsd.org (Postfix) with ESMTP id C11368FC1D for ; Thu, 6 May 2010 08:47:13 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=ysSFl0pJ4e4A:10 a=Q9fys5e9bTEA:10 a=M8b_wTzEtboA:10 a=MnI1ikcADjEx7bvsp0jZvQ==:17 a=pGLkceISAAAA:8 a=6I5d2MoRAAAA:8 a=Q1EMwQHjsQlmkN8j9vwA:9 a=E5xyvgdN0qHTF6dO8ioA:7 a=7vVp0Y0pwMS-Rvasl36_N1_EWv4A:4 a=PUjeQqilurYA:10 a=MSl-tDqOz04A:10 a=SV7veod9ZcQA:10 Received: from [188.126.201.140] (account mc467741@c2i.net HELO laptop002.hselasky.homeunix.org) by mailfe06.swip.net (CommuniGate Pro SMTP 5.2.19) with ESMTPA id 1360176974; Thu, 06 May 2010 10:47:11 +0200 From: Hans Petter Selasky To: freebsd-usb@freebsd.org, Peter Toth Date: Thu, 6 May 2010 10:44:25 +0200 User-Agent: KMail/1.12.4 (FreeBSD/8.0-STABLE; KDE/4.3.4; amd64; ; ) References: <201005060750.o467o3gs038211@freefall.freebsd.org> In-Reply-To: <201005060750.o467o3gs038211@freefall.freebsd.org> X-Face: +~\`s("[*|O,="7?X@L.elg*F"OA\I/3%^p8g?ab%RN'(; _IjlA: hGE..Ew, XAQ*o#\/M~SC=S1-f9{EzRfT'|Hhll5Q]ha5Bt-s|oTlKMusi:1e[wJl}kd}GR Z0adGx-x_0zGbZj'e(Y[(UNle~)8CQWXW@:DX+9)_YlB[tIccCPN$7/L' MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201005061044.25321.hselasky@c2i.net> Cc: Subject: Re: usb/146104: Samsung YP-U4 mp3 player USB_ERR_TIMEOUT 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: Thu, 06 May 2010 08:47:14 -0000 On Thursday 06 May 2010 09:50:03 Peter Toth wrote: > The following reply was made to PR usb/146104; it has been noted by GNATS. > > From: "Peter Toth" > To: bug-followup@freebsd.org, peter.toth198@gmail.com > Cc: > Subject: Re: usb/146104: Samsung YP-U4 mp3 player USB_ERR_TIMEOUT > Date: Thu, 06 May 2010 19:44:36 +1200 > > Just managed to try it on FreeBSD 8.0-STABLE/i386. > > Works fine, although it shows some errors, see bellow. > > > ugen4.2: at usbus4 > umass0: 0/0, rev 2.00/2.29, addr 2> on usbus4 > umass0: SCSI over Bulk-Only; quirks = 0x0000 > umass0:0:0:-1: Attached to scbus0 > da0 at umass-sim0 bus 0 scbus0 target 0 lun 0 > da0: Removable Direct Access SCSI-2 device > da0: 40.000MB/s transfers > da0: 3816MB (7816992 512 byte sectors: 255H 63S/T 486C) > (da0:umass-sim0:0:0:0): SYNCHRONIZE CACHE(10). CDB: 35 0 0 0 0 0 0 0 0 0 > (da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:c,2 (Write error - > auto reallocation failed) > (da0:umass-sim0:0:0:0): SYNCHRONIZE CACHE(10). CDB: 35 0 0 0 0 0 0 0 0 0 > (da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:c,2 (Write error - > auto reallocation failed) > (da0:umass-sim0:0:0:0): SYNCHRONIZE CACHE(10). CDB: 35 0 0 0 0 0 0 0 0 0 > (da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:c,2 (Write error - > auto reallocation failed) Hi, This error can be fixed by adding a quirk to: sys/dev/usb/quirk/usb_quirk.c Please see already existing examples for the XXX_NO_SYNC_CACHE_XXX flag for mass storage devices. Information about vid+pid can be obtained from "usbconfig". --HPS From owner-freebsd-usb@FreeBSD.ORG Thu May 6 09:00:13 2010 Return-Path: Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DC35B106566C for ; Thu, 6 May 2010 09:00:13 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id CBF0D8FC19 for ; Thu, 6 May 2010 09:00:13 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o4690Di1002184 for ; Thu, 6 May 2010 09:00:13 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o4690DvW002183; Thu, 6 May 2010 09:00:13 GMT (envelope-from gnats) Date: Thu, 6 May 2010 09:00:13 GMT Message-Id: <201005060900.o4690DvW002183@freefall.freebsd.org> To: freebsd-usb@FreeBSD.org From: Hans Petter Selasky Cc: Subject: Re: usb/146104: Samsung YP-U4 mp3 player USB_ERR_TIMEOUT X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Hans Petter Selasky List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 May 2010 09:00:13 -0000 The following reply was made to PR usb/146104; it has been noted by GNATS. From: Hans Petter Selasky To: bug-followup@freebsd.org Cc: Subject: Re: usb/146104: Samsung YP-U4 mp3 player USB_ERR_TIMEOUT Date: Thu, 6 May 2010 10:47:43 +0200 On Thursday 06 May 2010 09:50:03 Peter Toth wrote: > The following reply was made to PR usb/146104; it has been noted by GNATS. > > From: "Peter Toth" > To: bug-followup@freebsd.org, peter.toth198@gmail.com > Cc: > Subject: Re: usb/146104: Samsung YP-U4 mp3 player USB_ERR_TIMEOUT > Date: Thu, 06 May 2010 19:44:36 +1200 > > Just managed to try it on FreeBSD 8.0-STABLE/i386. > > Works fine, although it shows some errors, see bellow. > > > ugen4.2: at usbus4 > umass0: 0/0, rev 2.00/2.29, addr 2> on usbus4 > umass0: SCSI over Bulk-Only; quirks = 0x0000 > umass0:0:0:-1: Attached to scbus0 > da0 at umass-sim0 bus 0 scbus0 target 0 lun 0 > da0: Removable Direct Access SCSI-2 device > da0: 40.000MB/s transfers > da0: 3816MB (7816992 512 byte sectors: 255H 63S/T 486C) > (da0:umass-sim0:0:0:0): SYNCHRONIZE CACHE(10). CDB: 35 0 0 0 0 0 0 0 0 0 > (da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:c,2 (Write error - > auto reallocation failed) > (da0:umass-sim0:0:0:0): SYNCHRONIZE CACHE(10). CDB: 35 0 0 0 0 0 0 0 0 0 > (da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:c,2 (Write error - > auto reallocation failed) > (da0:umass-sim0:0:0:0): SYNCHRONIZE CACHE(10). CDB: 35 0 0 0 0 0 0 0 0 0 > (da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:c,2 (Write error - > auto reallocation failed) Hi, This error can be fixed by adding a quirk to: sys/dev/usb/quirk/usb_quirk.c Please see already existing examples for the XXX_NO_SYNC_CACHE_XXX flag for mass storage devices. Information about vid+pid can be obtained from "usbconfig". --HPS From owner-freebsd-usb@FreeBSD.ORG Thu May 6 09:43:36 2010 Return-Path: Delivered-To: usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BA815106566C for ; Thu, 6 May 2010 09:43:36 +0000 (UTC) (envelope-from ray@dlink.ua) Received: from dlink.ua (smtp.dlink.ua [193.138.187.146]) by mx1.freebsd.org (Postfix) with ESMTP id 7457F8FC13 for ; Thu, 6 May 2010 09:43:36 +0000 (UTC) Received: from gw ([192.168.10.10] helo=terran) by dlink.ua with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1O9wyB-0007O5-0D; Thu, 06 May 2010 12:02:11 +0300 Date: Thu, 6 May 2010 12:07:00 +0300 From: Alexandr Rybalko To: Hans Petter Selasky Message-Id: <20100506120700.76509ead.ray@dlink.ua> In-Reply-To: <201005052157.20060.hselasky@c2i.net> References: <43EC7D78-31E5-4B86-9316-002AE650727A@tlb.org> <201005050952.15632.hselasky@c2i.net> <201005051046.31093.freebsd-usb@dino.sk> <201005052157.20060.hselasky@c2i.net> Organization: D-Link X-Mailer: Sylpheed 2.7.1 (GTK+ 2.16.6; i386-portbld-freebsd8.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: usb@freebsd.org, Andrew Thompson Subject: Re: USB serial device naming 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: Thu, 06 May 2010 09:43:36 -0000 On Wed, 5 May 2010 21:57:20 +0200 Hans Petter Selasky wrote: >> Hi, >> >> Thanks for all good ideas. Can you give some feedback on the following >> solution: >> >> http://p4web.freebsd.org/@@177779?ac=10 Looks interest, can You send to me patch to svn head. (So more difference in p4, without access to p4 difficult to test it) Think uhub_child_location_string output must be added to "attach event", so devd can make unique link for device. >> >> --HPS >> _______________________________________________ >> freebsd-usb@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-usb >> To unsubscribe, send any mail to "freebsd-usb-unsubscribe@freebsd.org" -- Alexandr Rybalko aka Alex RAY From owner-freebsd-usb@FreeBSD.ORG Thu May 6 11:58:10 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0C87A106568F for ; Thu, 6 May 2010 11:58:10 +0000 (UTC) (envelope-from emelie@ns11-wistee.fr) Received: from ns11.wistee.fr (dns-ns11.wistee.fr [94.124.84.11]) by mx1.freebsd.org (Postfix) with ESMTP id CA7D98FC2F for ; Thu, 6 May 2010 11:58:09 +0000 (UTC) Received: from emelie by ns11.wistee.fr with local (Exim 4.67) (envelope-from ) id 1O9ziO-0005yn-HZ for freebsd-usb@freebsd.org; Thu, 06 May 2010 13:58:04 +0200 To: freebsd-usb@freebsd.org X-PHP-Script: emelie.ns11-wistee.fr/blainne.php for 41.251.59.30 From: IRISH NATIONAL LOTTERY MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 8bit Message-Id: Sender: Date: Thu, 06 May 2010 13:58:04 +0200 Subject: Contact Us:(IRISH NATIONAL LOTTERY) X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: irishnational.lot@englandmail.com List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 May 2010 11:58:10 -0000 Dear Reader Greetings from Irish National Lottery here in london.We wish to inform you that £750,000.00 Pounds has been awarded to your E-mail in our IRISH NATIONAL LOTTERY ONLINE PROMO PROGRAMME To file your claims contact our fiduciary agent for claims: Mr. Edward Brown Email: edwardbrown85@gmail.com Provide him with the information below: Full Names:............. Tel:............. Sex:............ Age:............ Congratulations once more. From owner-freebsd-usb@FreeBSD.ORG Thu May 6 19:49:43 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C1A38106564A for ; Thu, 6 May 2010 19:49:43 +0000 (UTC) (envelope-from mike@sentex.net) Received: from lava.sentex.ca (pyroxene.sentex.ca [199.212.134.18]) by mx1.freebsd.org (Postfix) with ESMTP id 7B8998FC1C for ; Thu, 6 May 2010 19:49:43 +0000 (UTC) Received: from mdt-xp.sentex.net (simeon.sentex.ca [192.168.43.27]) by lava.sentex.ca (8.14.3/8.14.3) with ESMTP id o46Jngdt028521 for ; Thu, 6 May 2010 15:49:42 -0400 (EDT) (envelope-from mike@sentex.net) Message-Id: <201005061949.o46Jngdt028521@lava.sentex.ca> X-Mailer: QUALCOMM Windows Eudora Version 7.1.0.9 Date: Thu, 06 May 2010 15:49:46 -0400 To: freebsd-usb@freebsd.org From: Mike Tancsa Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Subject: apcupsd port regression from 7x. to 8.x 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: Thu, 06 May 2010 19:49:43 -0000 While apcupsd works fine with one ups hooked up, apcupsd is not able to find multiple ones like it did on RELENG_7. Looking at the way the code is compiled, it uses the generic libusd driver to talk to and find the UPSes on RELENG_8. Not sure if this is a bug with apcupsd or how it works with RELENG_8. Running the daemon in debug mode, it loops through the following code, but always finds the same UPS and never 'moves on' to the next UPS like it did in RELENG_7. Has anyone got multiple UPSes working with apcupsd on RELENG_8 ? /* Initialize libusb */ Dmsg0(200, "Initializing libusb\n"); usb_init(); /* Enumerate usb busses and devices */ i = usb_find_busses(); Dmsg1(200, "Found %d USB busses\n", i); i = usb_find_devices(); Dmsg1(200, "Found %d USB devices\n", i); /* Iterate over all devices, checking for idVendor=APC */ bus = usb_get_busses(); while (bus) { dev = bus->devices; while (dev) { Dmsg4(200, "MDT bus loop %s:%s - %04x:%04x\n", bus->dirname, dev->filename, dev->descriptor.idVendor, dev->descriptor.idProduct); if (dev->descriptor.idVendor == VENDOR_APC) { Dmsg2(200, "Trying device %s:%s\n", bus->dirname, dev->filename); if (init_device(ups, dev)) { /* Successfully found and initialized an UPS */ astrncpy(ups->device, bus->dirname, sizeof(ups->device)); astrncat(ups->device, ":", sizeof(ups->device)); astrncat(ups->device, dev->filename, sizeof(ups->device)); return 1; } } dev = dev->next; } bus = bus->next; } /* Failed to find an UPS */ ups->device[0] = 0; return 0; } Where as the following are attached. It only is ever able to talk to the ups on ugen1.2 0[upsmon1]# usbconfig ugen0.1: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen1.1: at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen2.1: at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen3.1: at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen4.1: at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON ugen0.2: at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON ugen4.2: at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE ugen4.3: at usbus4, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON ugen0.3: at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON ugen4.4: at usbus4, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON ugen4.5: at usbus4, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON ugen4.6: at usbus4, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON ugen1.2: at usbus1, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON 0[upsmon1]# 0.000 apcupsd: apcupsd.c:219 Options parsed. 0.001 apcupsd: apcconfig.c:803 After config scriptdir: "/usr/local/etc/apcupsd.a" 0.001 apcupsd: apcconfig.c:804 After config pwrfailpath: "/var/run/a" 0.001 apcupsd: apcconfig.c:805 After config nologinpath: "/var/run" 0.001 apcupsd: apcupsd.c:242 Config file /usr/local/etc/apcupsd.a/apcupsd.conf processed. 0.001 apcupsd: :newups.c:102 write_lock at drivers.c:181 0.001 apcupsd: drivers.c:183 Looking for driver: usb 0.001 apcupsd: drivers.c:187 Driver dumb is configured. 0.001 apcupsd: drivers.c:187 Driver apcsmart is configured. 0.001 apcupsd: drivers.c:187 Driver net is configured. 0.001 apcupsd: drivers.c:187 Driver usb is configured. 0.001 apcupsd: drivers.c:190 Driver usb found and attached. 0.001 apcupsd: newups.c:108 write_unlock at drivers.c:207 0.001 apcupsd: drivers.c:209 Driver ptr=0x805c8e4 0.001 apcupsd: apcupsd.c:261 Attached to driver: usb 0.003 apcupsd: newups.c:102 write_lock at generic-usb.c:614 0.003 apcupsd: generic-usb.c:398 Initializing libusb 0.003 apcupsd: generic-usb.c:403 Found 0 USB busses 0.007 apcupsd: generic-usb.c:405 Found 0 USB devices 0.007 apcupsd: generic-usb.c:416 /dev/usb:/dev/ugen1.2 - 051d:0002 0.007 apcupsd: generic-usb.c:419 Trying device /dev/usb:/dev/ugen1.2 0.153 apcupsd: hidutils.c:62 Report descriptor: 0.153 apcupsd: apclog.c:158 Dumping 840 bytes @ 0x2823e000 -------------------------------------------------------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike@sentex.net Providing Internet since 1994 www.sentex.net Cambridge, Ontario Canada www.sentex.net/mike From owner-freebsd-usb@FreeBSD.ORG Thu May 6 19:59:16 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2382E106566B for ; Thu, 6 May 2010 19:59:16 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe03.swip.net [212.247.154.65]) by mx1.freebsd.org (Postfix) with ESMTP id 7A10E8FC08 for ; Thu, 6 May 2010 19:59:14 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=SZdgNhJuHXgA:10 a=8nJEP1OIZ-IA:10 a=M8b_wTzEtboA:10 a=MnI1ikcADjEx7bvsp0jZvQ==:17 a=ooO4V2CvygUxJmEYUhgA:9 a=5kJoVCPEwuaPY4IB0X8A:7 a=yo_qU3hYI8fKs2d7oCgjU8PohxkA:4 a=wPNLvfGTeEIA:10 Received: from [188.126.201.140] (account mc467741@c2i.net HELO laptop002.hselasky.homeunix.org) by mailfe03.swip.net (CommuniGate Pro SMTP 5.2.19) with ESMTPA id 1404790026; Thu, 06 May 2010 21:59:13 +0200 From: Hans Petter Selasky To: freebsd-usb@freebsd.org Date: Thu, 6 May 2010 21:56:25 +0200 User-Agent: KMail/1.12.4 (FreeBSD/8.0-STABLE; KDE/4.3.4; amd64; ; ) References: <201005061949.o46Jngdt028521@lava.sentex.ca> In-Reply-To: <201005061949.o46Jngdt028521@lava.sentex.ca> X-Face: +~\`s("[*|O,="7?X@L.elg*F"OA\I/3%^p8g?ab%RN'(; _IjlA: hGE..Ew, XAQ*o#\/M~SC=S1-f9{EzRfT'|Hhll5Q]ha5Bt-s|oTlKMusi:1e[wJl}kd}GR Z0adGx-x_0zGbZj'e(Y[(UNle~)8CQWXW@:DX+9)_YlB[tIccCPN$7/L' MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201005062156.25982.hselasky@c2i.net> Cc: Subject: Re: apcupsd port regression from 7x. to 8.x 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: Thu, 06 May 2010 19:59:16 -0000 On Thursday 06 May 2010 21:49:46 Mike Tancsa wrote: > While apcupsd works fine with one ups hooked up, apcupsd is not able > to find multiple ones like it did on RELENG_7. Looking at the way > the code is compiled, it uses the generic libusd driver to talk to > and find the UPSes on RELENG_8. Not sure if this is a bug with > apcupsd or how it works with RELENG_8. > > Running the daemon in debug mode, it loops through the following > code, but always finds the same UPS and never 'moves on' to the next > UPS like it did in RELENG_7. Has anyone got multiple UPSes working > with apcupsd on RELENG_8 ? > > > /* Initialize libusb */ > Dmsg0(200, "Initializing libusb\n"); > usb_init(); > > /* Enumerate usb busses and devices */ > i = usb_find_busses(); > Dmsg1(200, "Found %d USB busses\n", i); > i = usb_find_devices(); > Dmsg1(200, "Found %d USB devices\n", i); > > /* Iterate over all devices, checking for idVendor=APC */ > bus = usb_get_busses(); > while (bus) > { > dev = bus->devices; > while (dev) > { > Dmsg4(200, "MDT bus loop %s:%s - %04x:%04x\n", > bus->dirname, dev->filename, > dev->descriptor.idVendor, dev->descriptor.idProduct); > > if (dev->descriptor.idVendor == VENDOR_APC) { > Dmsg2(200, "Trying device %s:%s\n", bus->dirname, > dev->filename); if (init_device(ups, dev)) { > /* Successfully found and initialized an UPS */ > astrncpy(ups->device, bus->dirname, sizeof(ups->device)); > astrncat(ups->device, ":", sizeof(ups->device)); > astrncat(ups->device, dev->filename, sizeof(ups->device)); > return 1; > } > } > > dev = dev->next; > } > > bus = bus->next; > } > > /* Failed to find an UPS */ > ups->device[0] = 0; > return 0; > } > > Where as the following are attached. It only is ever able to talk to > the ups on ugen1.2 > > 0[upsmon1]# usbconfig > ugen0.1: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) > pwr=ON ugen1.1: at usbus1, cfg=0 md=HOST spd=FULL > (12Mbps) pwr=ON ugen2.1: at usbus2, cfg=0 md=HOST > spd=FULL (12Mbps) pwr=ON ugen3.1: at usbus3, cfg=0 > md=HOST spd=FULL (12Mbps) pwr=ON ugen4.1: at usbus4, > cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON ugen0.2: FW:802.n2.D USB FW:n2 APC> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) > pwr=ON > ugen4.2: at usbus4, cfg=0 md=HOST spd=HIGH > (480Mbps) pwr=SAVE > ugen4.3: at usbus4, cfg=0 > md=HOST spd=LOW (1.5Mbps) pwr=ON > ugen0.3: Conversion> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON > ugen4.4: at usbus4, cfg=0 > md=HOST spd=LOW (1.5Mbps) pwr=ON > ugen4.5: Conversion> at usbus4, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON > ugen4.6: at usbus4, cfg=0 > md=HOST spd=LOW (1.5Mbps) pwr=ON > ugen1.2: at usbus1, cfg=0 > md=HOST spd=LOW (1.5Mbps) pwr=ON > 0[upsmon1]# > > > 0.000 apcupsd: apcupsd.c:219 Options parsed. > 0.001 apcupsd: apcconfig.c:803 After config scriptdir: > "/usr/local/etc/apcupsd.a" > 0.001 apcupsd: apcconfig.c:804 After config pwrfailpath: "/var/run/a" > 0.001 apcupsd: apcconfig.c:805 After config nologinpath: "/var/run" > 0.001 apcupsd: apcupsd.c:242 Config file > /usr/local/etc/apcupsd.a/apcupsd.conf processed. > 0.001 apcupsd: :newups.c:102 write_lock at drivers.c:181 > 0.001 apcupsd: drivers.c:183 Looking for driver: usb > 0.001 apcupsd: drivers.c:187 Driver dumb is configured. > 0.001 apcupsd: drivers.c:187 Driver apcsmart is configured. > 0.001 apcupsd: drivers.c:187 Driver net is configured. > 0.001 apcupsd: drivers.c:187 Driver usb is configured. > 0.001 apcupsd: drivers.c:190 Driver usb found and attached. > 0.001 apcupsd: newups.c:108 write_unlock at drivers.c:207 > 0.001 apcupsd: drivers.c:209 Driver ptr=0x805c8e4 > 0.001 apcupsd: apcupsd.c:261 Attached to driver: usb > 0.003 apcupsd: newups.c:102 write_lock at generic-usb.c:614 > 0.003 apcupsd: generic-usb.c:398 Initializing libusb > 0.003 apcupsd: generic-usb.c:403 Found 0 USB busses > 0.007 apcupsd: generic-usb.c:405 Found 0 USB devices > 0.007 apcupsd: generic-usb.c:416 /dev/usb:/dev/ugen1.2 - 051d:0002 > 0.007 apcupsd: generic-usb.c:419 Trying device /dev/usb:/dev/ugen1.2 > 0.153 apcupsd: hidutils.c:62 Report descriptor: > 0.153 apcupsd: apclog.c:158 Dumping 840 bytes @ 0x2823e000 > > Have you tried FreeBSD 8-STABLE ? --HPS From owner-freebsd-usb@FreeBSD.ORG Thu May 6 20:04:10 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D3EF01065670 for ; Thu, 6 May 2010 20:04:10 +0000 (UTC) (envelope-from mike@sentex.net) Received: from lava.sentex.ca (pyroxene.sentex.ca [199.212.134.18]) by mx1.freebsd.org (Postfix) with ESMTP id 7F7EA8FC0C for ; Thu, 6 May 2010 20:04:10 +0000 (UTC) Received: from mdt-xp.sentex.net (simeon.sentex.ca [192.168.43.27]) by lava.sentex.ca (8.14.3/8.14.3) with ESMTP id o46K46Wg028610; Thu, 6 May 2010 16:04:06 -0400 (EDT) (envelope-from mike@sentex.net) Message-Id: <201005062004.o46K46Wg028610@lava.sentex.ca> X-Mailer: QUALCOMM Windows Eudora Version 7.1.0.9 Date: Thu, 06 May 2010 16:04:10 -0400 To: Hans Petter Selasky , freebsd-usb@freebsd.org From: Mike Tancsa In-Reply-To: <201005062156.25982.hselasky@c2i.net> References: <201005061949.o46Jngdt028521@lava.sentex.ca> <201005062156.25982.hselasky@c2i.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Cc: Subject: Re: apcupsd port regression from 7x. to 8.x 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: Thu, 06 May 2010 20:04:10 -0000 At 03:56 PM 5/6/2010, Hans Petter Selasky wrote: > > > >Have you tried FreeBSD 8-STABLE ? Hi, This is with RELENG_8 as of this morning. ---Mike >--HPS -------------------------------------------------------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike@sentex.net Providing Internet since 1994 www.sentex.net Cambridge, Ontario Canada www.sentex.net/mike From owner-freebsd-usb@FreeBSD.ORG Thu May 6 20:12:51 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3B7FF106564A for ; Thu, 6 May 2010 20:12:51 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe06.swip.net [212.247.154.161]) by mx1.freebsd.org (Postfix) with ESMTP id BF28E8FC1B for ; Thu, 6 May 2010 20:12:50 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=SZdgNhJuHXgA:10 a=8nJEP1OIZ-IA:10 a=M8b_wTzEtboA:10 a=MnI1ikcADjEx7bvsp0jZvQ==:17 a=Ftyd71wbeOyJf_NDbwgA:9 a=KtCNlqJoM5L0U9fD1vJxZHcpqh4A:4 a=wPNLvfGTeEIA:10 Received: from [188.126.201.140] (account mc467741@c2i.net HELO laptop002.hselasky.homeunix.org) by mailfe06.swip.net (CommuniGate Pro SMTP 5.2.19) with ESMTPA id 1360394990; Thu, 06 May 2010 22:12:49 +0200 From: Hans Petter Selasky To: Mike Tancsa Date: Thu, 6 May 2010 22:10:01 +0200 User-Agent: KMail/1.12.4 (FreeBSD/8.0-STABLE; KDE/4.3.4; amd64; ; ) References: <201005061949.o46Jngdt028521@lava.sentex.ca> <201005062156.25982.hselasky@c2i.net> <201005062004.o46K46Wg028610@lava.sentex.ca> In-Reply-To: <201005062004.o46K46Wg028610@lava.sentex.ca> X-Face: +~\`s("[*|O,="7?X@L.elg*F"OA\I/3%^p8g?ab%RN'(; _IjlA: hGE..Ew, XAQ*o#\/M~SC=S1-f9{EzRfT'|Hhll5Q]ha5Bt-s|oTlKMusi:1e[wJl}kd}GR Z0adGx-x_0zGbZj'e(Y[(UNle~)8CQWXW@:DX+9)_YlB[tIccCPN$7/L' MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201005062210.01536.hselasky@c2i.net> Cc: freebsd-usb@freebsd.org Subject: Re: apcupsd port regression from 7x. to 8.x 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: Thu, 06 May 2010 20:12:51 -0000 On Thursday 06 May 2010 22:04:10 Mike Tancsa wrote: > At 03:56 PM 5/6/2010, Hans Petter Selasky wrote: > >Have you tried FreeBSD 8-STABLE ? > > Hi, > This is with RELENG_8 as of this morning. > > ---Mike And you have also built and installed world? --HPS From owner-freebsd-usb@FreeBSD.ORG Thu May 6 20:43:20 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 81C9F106567D for ; Thu, 6 May 2010 20:43:20 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe01.swip.net [212.247.154.1]) by mx1.freebsd.org (Postfix) with ESMTP id DCB5E8FC24 for ; Thu, 6 May 2010 20:43:19 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=SZdgNhJuHXgA:10 a=8nJEP1OIZ-IA:10 a=M8b_wTzEtboA:10 a=MnI1ikcADjEx7bvsp0jZvQ==:17 a=6I5d2MoRAAAA:8 a=mOw-Q1E_MEZTz1_SpHsA:9 a=TavmHYLosac_bvbWFbRTRELap-sA:4 a=wPNLvfGTeEIA:10 a=rIyH_HcT2nnJfa5V:21 a=reRJb9sDhsXLdoq2:21 Received: from [188.126.201.140] (account mc467741@c2i.net HELO laptop002.hselasky.homeunix.org) by mailfe01.swip.net (CommuniGate Pro SMTP 5.2.19) with ESMTPA id 337419143; Thu, 06 May 2010 22:43:18 +0200 From: Hans Petter Selasky To: freebsd-usb@freebsd.org Date: Thu, 6 May 2010 22:40:30 +0200 User-Agent: KMail/1.12.4 (FreeBSD/8.0-STABLE; KDE/4.3.4; amd64; ; ) References: <201005061949.o46Jngdt028521@lava.sentex.ca> In-Reply-To: <201005061949.o46Jngdt028521@lava.sentex.ca> X-Face: +~\`s("[*|O,="7?X@L.elg*F"OA\I/3%^p8g?ab%RN'(; _IjlA: hGE..Ew, XAQ*o#\/M~SC=S1-f9{EzRfT'|Hhll5Q]ha5Bt-s|oTlKMusi:1e[wJl}kd}GR Z0adGx-x_0zGbZj'e(Y[(UNle~)8CQWXW@:DX+9)_YlB[tIccCPN$7/L' MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201005062240.30548.hselasky@c2i.net> Cc: Subject: Re: apcupsd port regression from 7x. to 8.x 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: Thu, 06 May 2010 20:43:20 -0000 On Thursday 06 May 2010 21:49:46 Mike Tancsa wrote: > While apcupsd works fine with one ups hooked up, apcupsd is not able > to find multiple ones like it did on RELENG_7. Looking at the way > the code is compiled, it uses the generic libusd driver to talk to > and find the UPSes on RELENG_8. Not sure if this is a bug with > apcupsd or how it works with RELENG_8. > > Running the daemon in debug mode, it loops through the following > code, but always finds the same UPS and never 'moves on' to the next > UPS like it did in RELENG_7. Has anyone got multiple UPSes working > with apcupsd on RELENG_8 ? > > > /* Initialize libusb */ > Dmsg0(200, "Initializing libusb\n"); > usb_init(); > > /* Enumerate usb busses and devices */ > i = usb_find_busses(); > Dmsg1(200, "Found %d USB busses\n", i); > i = usb_find_devices(); > Dmsg1(200, "Found %d USB devices\n", i); > > /* Iterate over all devices, checking for idVendor=APC */ > bus = usb_get_busses(); > while (bus) > { > dev = bus->devices; > while (dev) > { > Dmsg4(200, "MDT bus loop %s:%s - %04x:%04x\n", > bus->dirname, dev->filename, > dev->descriptor.idVendor, dev->descriptor.idProduct); > > if (dev->descriptor.idVendor == VENDOR_APC) { > Dmsg2(200, "Trying device %s:%s\n", bus->dirname, > dev->filename); if (init_device(ups, dev)) { > /* Successfully found and initialized an UPS */ > astrncpy(ups->device, bus->dirname, sizeof(ups->device)); > astrncat(ups->device, ":", sizeof(ups->device)); > astrncat(ups->device, dev->filename, sizeof(ups->device)); > return 1; > } > } > > dev = dev->next; > } > > bus = bus->next; > } > > /* Failed to find an UPS */ > ups->device[0] = 0; > return 0; > } > > Where as the following are attached. It only is ever able to talk to > the ups on ugen1.2 > > 0[upsmon1]# usbconfig > ugen0.1: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) > pwr=ON ugen1.1: at usbus1, cfg=0 md=HOST spd=FULL > (12Mbps) pwr=ON ugen2.1: at usbus2, cfg=0 md=HOST > spd=FULL (12Mbps) pwr=ON ugen3.1: at usbus3, cfg=0 > md=HOST spd=FULL (12Mbps) pwr=ON ugen4.1: at usbus4, > cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON ugen0.2: FW:802.n2.D USB FW:n2 APC> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) > pwr=ON > ugen4.2: at usbus4, cfg=0 md=HOST spd=HIGH > (480Mbps) pwr=SAVE > ugen4.3: at usbus4, cfg=0 > md=HOST spd=LOW (1.5Mbps) pwr=ON > ugen0.3: Conversion> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON > ugen4.4: at usbus4, cfg=0 > md=HOST spd=LOW (1.5Mbps) pwr=ON > ugen4.5: Conversion> at usbus4, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON > ugen4.6: at usbus4, cfg=0 > md=HOST spd=LOW (1.5Mbps) pwr=ON > ugen1.2: at usbus1, cfg=0 > md=HOST spd=LOW (1.5Mbps) pwr=ON > 0[upsmon1]# > > > 0.000 apcupsd: apcupsd.c:219 Options parsed. > 0.001 apcupsd: apcconfig.c:803 After config scriptdir: > "/usr/local/etc/apcupsd.a" > 0.001 apcupsd: apcconfig.c:804 After config pwrfailpath: "/var/run/a" > 0.001 apcupsd: apcconfig.c:805 After config nologinpath: "/var/run" > 0.001 apcupsd: apcupsd.c:242 Config file > /usr/local/etc/apcupsd.a/apcupsd.conf processed. > 0.001 apcupsd: :newups.c:102 write_lock at drivers.c:181 > 0.001 apcupsd: drivers.c:183 Looking for driver: usb > 0.001 apcupsd: drivers.c:187 Driver dumb is configured. > 0.001 apcupsd: drivers.c:187 Driver apcsmart is configured. > 0.001 apcupsd: drivers.c:187 Driver net is configured. > 0.001 apcupsd: drivers.c:187 Driver usb is configured. > 0.001 apcupsd: drivers.c:190 Driver usb found and attached. > 0.001 apcupsd: newups.c:108 write_unlock at drivers.c:207 > 0.001 apcupsd: drivers.c:209 Driver ptr=0x805c8e4 > 0.001 apcupsd: apcupsd.c:261 Attached to driver: usb > 0.003 apcupsd: newups.c:102 write_lock at generic-usb.c:614 > 0.003 apcupsd: generic-usb.c:398 Initializing libusb The FreeBSD LibUSB v0.1 reports the wrong number of busses and devices. I can fix this. > 0.003 apcupsd: generic-usb.c:403 Found 0 USB busses > 0.007 apcupsd: generic-usb.c:405 Found 0 USB devices The problem is that the UPS code is designed to attach to the first matching device only. LibUSB does not hide devices with drivers already attached, which I think your utility assumes. You should use: pidfile, see man pidfile To create a temporary file with some string which consists of all numbers in udev->filename, separated by ".". Or USB LibUSB v.1.0! I've made a small patch, but it won't fix your issue :-( http://p4web.freebsd.org/@@177865?ac=10 --HPS From owner-freebsd-usb@FreeBSD.ORG Thu May 6 20:56:35 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A266D106566B for ; Thu, 6 May 2010 20:56:35 +0000 (UTC) (envelope-from mike@sentex.net) Received: from lava.sentex.ca (pyroxene.sentex.ca [199.212.134.18]) by mx1.freebsd.org (Postfix) with ESMTP id 6613A8FC13 for ; Thu, 6 May 2010 20:56:35 +0000 (UTC) Received: from mdt-xp.sentex.net (simeon.sentex.ca [192.168.43.27]) by lava.sentex.ca (8.14.3/8.14.3) with ESMTP id o46KuV0k028879; Thu, 6 May 2010 16:56:31 -0400 (EDT) (envelope-from mike@sentex.net) Message-Id: <201005062056.o46KuV0k028879@lava.sentex.ca> X-Mailer: QUALCOMM Windows Eudora Version 7.1.0.9 Date: Thu, 06 May 2010 16:56:36 -0400 To: Hans Petter Selasky , freebsd-usb@freebsd.org From: Mike Tancsa In-Reply-To: <201005062240.30548.hselasky@c2i.net> References: <201005061949.o46Jngdt028521@lava.sentex.ca> <201005062240.30548.hselasky@c2i.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Cc: adk0212@gmail.com Subject: Re: apcupsd port regression from 7x. to 8.x 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: Thu, 06 May 2010 20:56:35 -0000 At 04:40 PM 5/6/2010, Hans Petter Selasky wrote: > > 0.003 apcupsd: generic-usb.c:398 Initializing libusb > >The FreeBSD LibUSB v0.1 reports the wrong number of busses and devices. I can >fix this. Great! > > 0.003 apcupsd: generic-usb.c:403 Found 0 USB busses > > 0.007 apcupsd: generic-usb.c:405 Found 0 USB devices > >The problem is that the UPS code is designed to attach to the first matching >device only. LibUSB does not hide devices with drivers already >attached, which >I think your utility assumes. You should use: > >pidfile, see man pidfile > >To create a temporary file with some string which consists of all numbers in >udev->filename, separated by ".". Or USB LibUSB v.1.0! I am guessing the program would need to be re-written to use v1.0 ? Thanks for the feedback and help as always! I also found another work around by the author of the daemon which works great! http://kroptech.com/mailimport/showmsg.php?msg_id=3665255961&db_name=apcupsd-users >I've made a small patch, but it won't fix your issue :-( > >http://p4web.freebsd.org/@@177865?ac=10 > >--HPS -------------------------------------------------------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike@sentex.net Providing Internet since 1994 www.sentex.net Cambridge, Ontario Canada www.sentex.net/mike From owner-freebsd-usb@FreeBSD.ORG Thu May 6 22:27:41 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DBE2B1065672; Thu, 6 May 2010 22:27:41 +0000 (UTC) (envelope-from alex.deiter@gmail.com) Received: from mail-yw0-f181.google.com (mail-yw0-f181.google.com [209.85.211.181]) by mx1.freebsd.org (Postfix) with ESMTP id 4945C8FC19; Thu, 6 May 2010 22:27:41 +0000 (UTC) Received: by ywh11 with SMTP id 11so301498ywh.7 for ; Thu, 06 May 2010 15:27:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=pPAa6U8Z/puL57Hl4AQ0ArM0sHDhSbyK+XLTnf+NOvg=; b=nALj7bSAB3gF2oz5OezvKVvztHjsVzPd6T8rIRV16e8kNUSVbWHA5hfVsRgwCjaXEB 0CYe22wNsXQLf8AAtNXDQvUaqAE9ops/O8SMcG5LtuXwSFiBK07Uj4GB6rFbsidzyEhd vJMSZ8FrS9DjdypiX1Uy4/DCpl++4cPGQjIOc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=I0DO3qAKmMauwuTExFTURhdcZc7iXZdHj9X/zUk1IYHJfr43kX81PsFJfc4OfMV5Gq jZ8V0NaH94A5ckmKTfo5liOfuSSvnguvdwID0x3L4Q86XQhv5PdKOeakfTnI9PUBp9oQ doFB0axjg3OcICG1lL7Mnq8LuTahizN7819Qk= MIME-Version: 1.0 Received: by 10.100.229.2 with SMTP id b2mr8989082anh.255.1273183094227; Thu, 06 May 2010 14:58:14 -0700 (PDT) Received: by 10.100.91.20 with HTTP; Thu, 6 May 2010 14:58:13 -0700 (PDT) Date: Fri, 7 May 2010 01:58:13 +0400 Message-ID: From: Alex Deiter To: freebsd-usb@freebsd.org, current@freebsd.org, freebsd-bluetooth@freebsd.org, kaiw@freebsd.org, hps@freebsd.org Content-Type: multipart/mixed; boundary=001636af02d71770320485f40a56 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: Revision 205728: broken bluetooth mouse support 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: Thu, 06 May 2010 22:27:42 -0000 --001636af02d71770320485f40a56 Content-Type: text/plain; charset=UTF-8 Hi, Bluetooth mouse support is broken after Revision 205728: http://svn.freebsd.org/viewvc/base?view=revision&revision=205728 When I move the mouse - cursor stays in same place but moves the current position of the console. Proposed patch as an attachment. Could you please revew this ? Thanks a lot! -- Alex Deiter --001636af02d71770320485f40a56-- From owner-freebsd-usb@FreeBSD.ORG Fri May 7 03:50:01 2010 Return-Path: Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9A65B106566B for ; Fri, 7 May 2010 03:50:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 5FF338FC1A for ; Fri, 7 May 2010 03:50:01 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o473o1f2072074 for ; Fri, 7 May 2010 03:50:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o473o1eN072073; Fri, 7 May 2010 03:50:01 GMT (envelope-from gnats) Resent-Date: Fri, 7 May 2010 03:50:01 GMT Resent-Message-Id: <201005070350.o473o1eN072073@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-usb@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Alex Deiter Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D36D51065674 for ; Fri, 7 May 2010 03:49:43 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [69.147.83.33]) by mx1.freebsd.org (Postfix) with ESMTP id C40828FC13 for ; Fri, 7 May 2010 03:49:43 +0000 (UTC) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id o473nhf2065851 for ; Fri, 7 May 2010 03:49:43 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id o473nhSF065849; Fri, 7 May 2010 03:49:43 GMT (envelope-from nobody) Message-Id: <201005070349.o473nhSF065849@www.freebsd.org> Date: Fri, 7 May 2010 03:49:43 GMT From: Alex Deiter To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support 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: Fri, 07 May 2010 03:50:01 -0000 >Number: 146367 >Category: usb >Synopsis: [PATCH] Revision 205728: broken bluetooth mouse support >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-usb >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri May 07 03:50:01 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Alex Deiter >Release: 9.0 >Organization: N/A >Environment: today 9.0-current (Revision 207680) >Description: Hi, Bluetooth mouse support is broken after Revision 205728: http://svn.freebsd.org/viewvc/base?view=revision&revision=205728 When I move the mouse - cursor stays in same place but moves the current position of the console. Proposed patch as an attachment. Could you please revew this ? Thanks a lot! >How-To-Repeat: >Fix: please review patch Patch attached with submission follows: --- lib/libusbhid/data.c.orig 2010-05-07 01:26:45.192120194 +0400 +++ lib/libusbhid/data.c 2010-05-07 01:55:56.114702254 +0400 @@ -40,15 +40,10 @@ const uint8_t *buf; uint32_t hpos; uint32_t hsize; - uint32_t data; + int32_t data; int i, end, offs; buf = p; - - /* Skip report ID byte. */ - if (h->report_ID > 0) - buf++; - hpos = h->pos; /* bit position of data */ hsize = h->report_size; /* bit length of data */ >Release-Note: >Audit-Trail: >Unformatted: From owner-freebsd-usb@FreeBSD.ORG Fri May 7 07:41:39 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6240B106564A; Fri, 7 May 2010 07:41:39 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe07.swip.net [212.247.154.193]) by mx1.freebsd.org (Postfix) with ESMTP id BAD388FC1A; Fri, 7 May 2010 07:41:38 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=6EUBQkwqK50A:10 a=Q9fys5e9bTEA:10 a=M8b_wTzEtboA:10 a=MnI1ikcADjEx7bvsp0jZvQ==:17 a=6I5d2MoRAAAA:8 a=z2aGyhn3vKXBPhjmJXUA:9 a=6XT722WisPW-S2q9ZRwHmWw1ZHkA:4 a=PUjeQqilurYA:10 Received: from [188.126.201.140] (account mc467741@c2i.net HELO laptop002.hselasky.homeunix.org) by mailfe07.swip.net (CommuniGate Pro SMTP 5.2.19) with ESMTPA id 1386811671; Fri, 07 May 2010 09:41:36 +0200 From: Hans Petter Selasky To: freebsd-usb@freebsd.org Date: Fri, 7 May 2010 09:38:49 +0200 User-Agent: KMail/1.12.4 (FreeBSD/8.0-STABLE; KDE/4.3.4; amd64; ; ) References: <201005070349.o473nhSF065849@www.freebsd.org> In-Reply-To: <201005070349.o473nhSF065849@www.freebsd.org> X-Face: +~\`s("[*|O,="7?X@L.elg*F"OA\I/3%^p8g?ab%RN'(; _IjlA: hGE..Ew, XAQ*o#\/M~SC=S1-f9{EzRfT'|Hhll5Q]ha5Bt-s|oTlKMusi:1e[wJl}kd}GR Z0adGx-x_0zGbZj'e(Y[(UNle~)8CQWXW@:DX+9)_YlB[tIccCPN$7/L' MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201005070938.49542.hselasky@c2i.net> Cc: freebsd-gnats-submit@freebsd.org, Alex Deiter Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support 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: Fri, 07 May 2010 07:41:39 -0000 On Friday 07 May 2010 05:49:43 Alex Deiter wrote: > Alex Deiter > Hi, The first part of the patch is not correct. The ID byte should be included in the buffer or you need to extend the buffer. Note that the kernel version of hid_get_data() is different at this point. The second part of your patch is correct, and indicates a merge glitch, due to changing the signedness of the data type some time back. Can you try the following patch in kernel and user-space and see that it works for your BT-mouse and USB-mouse? http://p4web.freebsd.org/@@177882?ac=10 --HPS From owner-freebsd-usb@FreeBSD.ORG Fri May 7 07:50:03 2010 Return-Path: Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CEBB11065672 for ; Fri, 7 May 2010 07:50:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id BE74F8FC1B for ; Fri, 7 May 2010 07:50:03 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o477o36G008574 for ; Fri, 7 May 2010 07:50:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o477o314008573; Fri, 7 May 2010 07:50:03 GMT (envelope-from gnats) Date: Fri, 7 May 2010 07:50:03 GMT Message-Id: <201005070750.o477o314008573@freefall.freebsd.org> To: freebsd-usb@FreeBSD.org From: Hans Petter Selasky Cc: Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Hans Petter Selasky List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 May 2010 07:50:03 -0000 The following reply was made to PR usb/146367; it has been noted by GNATS. From: Hans Petter Selasky To: freebsd-usb@freebsd.org Cc: Alex Deiter , freebsd-gnats-submit@freebsd.org Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support Date: Fri, 7 May 2010 09:38:49 +0200 On Friday 07 May 2010 05:49:43 Alex Deiter wrote: > Alex Deiter > Hi, The first part of the patch is not correct. The ID byte should be included in the buffer or you need to extend the buffer. Note that the kernel version of hid_get_data() is different at this point. The second part of your patch is correct, and indicates a merge glitch, due to changing the signedness of the data type some time back. Can you try the following patch in kernel and user-space and see that it works for your BT-mouse and USB-mouse? http://p4web.freebsd.org/@@177882?ac=10 --HPS From owner-freebsd-usb@FreeBSD.ORG Fri May 7 08:56:36 2010 Return-Path: Delivered-To: usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DF149106564A for ; Fri, 7 May 2010 08:56:36 +0000 (UTC) (envelope-from freebsd-usb@dino.sk) Received: from loki.netlab.sk (ns3.netlab.sk [84.245.65.11]) by mx1.freebsd.org (Postfix) with ESMTP id 537B18FC08 for ; Fri, 7 May 2010 08:56:35 +0000 (UTC) Received: from fw1.dino.sk (fw1.dino.sk [84.245.95.252]) (AUTH: LOGIN milan, TLS: TLSv1/SSLv3,256bits,AES256-SHA) by loki.netlab.sk with esmtp; Fri, 07 May 2010 10:45:03 +0200 id 0002E196.4BE3D30F.0000C544 From: Milan Obuch To: Alexandr Rybalko Date: Fri, 7 May 2010 10:46:44 +0200 User-Agent: KMail/1.9.10 References: <43EC7D78-31E5-4B86-9316-002AE650727A@tlb.org> <201005052157.20060.hselasky@c2i.net> <20100506120700.76509ead.ray@dlink.ua> In-Reply-To: <20100506120700.76509ead.ray@dlink.ua> X-Face: #.82A~?`t~x[OKOO/VQ$LB:#W:[KnFgA8on=vx$ji1k|N(Jtn]{Rf:p1*Cd>=?utf-8?q?*=5B=5B=0A=09UQMwF+?="+(H(z8O%>/7rv9J>j8s=K}WNeL,&3}Ay+\f,I|yW; xB7Ceq"9mH12,Sn4us|/>=?utf-8?q?W=0A=09YPt=5E=3Fy=7DEm=3DX=5CKugpo=273?=>^t=xQWh&fxn&yTG\*B'Ult040wcquXk MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <201005071046.45000.freebsd-usb@dino.sk> Cc: usb@freebsd.org, Andrew Thompson Subject: Re: USB serial device naming 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: Fri, 07 May 2010 08:56:37 -0000 On Thursday 06 May 2010 11:07:00 Alexandr Rybalko wrote: > On Wed, 5 May 2010 21:57:20 +0200 > > Hans Petter Selasky wrote: > >> Hi, > >> > >> Thanks for all good ideas. Can you give some feedback on the following > >> solution: > >> > >> http://p4web.freebsd.org/@@177779?ac=10 > > Looks interest, can You send to me patch to svn head. (So more difference > in p4, without access to p4 difficult to test it) > Me too... I have no experience with p4, now I even could not access it for some reason... > Think uhub_child_location_string output must be added to "attach event", so > devd can make unique link for device. > Milan From owner-freebsd-usb@FreeBSD.ORG Fri May 7 09:57:49 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EA9101065672 for ; Fri, 7 May 2010 09:57:48 +0000 (UTC) (envelope-from kaiwang27@gmail.com) Received: from mail-ew0-f224.google.com (mail-ew0-f224.google.com [209.85.219.224]) by mx1.freebsd.org (Postfix) with ESMTP id 6AC5B8FC1A for ; Fri, 7 May 2010 09:57:47 +0000 (UTC) Received: by ewy24 with SMTP id 24so211064ewy.33 for ; Fri, 07 May 2010 02:57:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:received :x-authentication-warning:date:from:to:cc:subject:message-id :references:mime-version:content-type:content-disposition :in-reply-to:user-agent; bh=z/z4a2JXXeOwINGEcy4L5O1hJVfzoy5SuHnZ8leis9c=; b=t2pY/Fw6jQASg34vK0N2ALj1kkk/2Zp7lrvn2KT9uDdd1E6wd/puW0dCFKq7cxEPZa dUQ/Wz3MmVPbk/wb7OildmYgQiuoHo4dvRyaHlc6txUzYVpQo0HOy2+Lgdv4k+ZtYzZI zHb02WISNacsgOe8eFB5mBeDsSU3ut4zf7Xao= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=x-authentication-warning:date:from:to:cc:subject:message-id :references:mime-version:content-type:content-disposition :in-reply-to:user-agent; b=jg8U1M8fM5eoPA/zSjHSOvSlnZGxnoqX6WK+Eldq0KFulNBqxzin8FL+Gue7kuIRdG sIIMr6j2d8nlEJ95FMp8G8v4xgyMA+bUsvuD/2XYAs38o0rL5VzCgC7qG8KxHkiikVoD BF8cgfDXuxpYXNa9UP6YMv2wE17VZOJx6eOc8= Received: by 10.213.41.142 with SMTP id o14mr3846721ebe.18.1273226257228; Fri, 07 May 2010 02:57:37 -0700 (PDT) Received: from localhost (81-233-38-26-no36.tbcn.telia.com [81.233.38.26]) by mx.google.com with ESMTPS id 14sm1060751ewy.14.2010.05.07.02.57.35 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 07 May 2010 02:57:35 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=localhost.my.domain) by localhost with esmtp (Exim 4.71 (FreeBSD)) (envelope-from ) id 1OAKJ5-0000nj-4O; Fri, 07 May 2010 11:57:19 +0200 Received: (from kaiw@localhost) by localhost.my.domain (8.14.3/8.14.3/Submit) id o479vJZg003082; Fri, 7 May 2010 11:57:19 +0200 (CEST) (envelope-from kaiwang27@gmail.com) X-Authentication-Warning: localhost.my.domain: kaiw set sender to kaiwang27@gmail.com using -f Date: Fri, 7 May 2010 11:57:18 +0200 From: Kai Wang To: Alex Deiter Message-ID: <20100507095718.GA3047@viskning> References: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="huq684BweRXVnRxX" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-bluetooth@freebsd.org, current@freebsd.org, freebsd-usb@freebsd.org, hps@freebsd.org Subject: Re: Revision 205728: broken bluetooth mouse support 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: Fri, 07 May 2010 09:57:49 -0000 --huq684BweRXVnRxX Content-Type: text/plain; charset=utf-8 Content-Disposition: inline On Fri, May 07, 2010 at 01:58:13AM +0400, Alex Deiter wrote: > Hi, > > Bluetooth mouse support is broken after Revision 205728: > > http://svn.freebsd.org/viewvc/base?view=revision&revision=205728 > > When I move the mouse - cursor stays in same place but moves the > current position of the console. > > Proposed patch as an attachment. Could you please revew this ? Hi Alex, If we adopt your patch, usbhidctl(1) and usbhidaction(1) will be broken again on device with multiple report IDs. Could you please try if the attached patch for the bthidd(8) daemon works as well? Thanks, Kai --huq684BweRXVnRxX Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="bthidd.txt" Index: usr.sbin/bluetooth/bthidd/hid.c =================================================================== --- usr.sbin/bluetooth/bthidd/hid.c (revision 207113) +++ usr.sbin/bluetooth/bthidd/hid.c (working copy) @@ -130,7 +130,7 @@ hid_interrupt(bthid_session_p s, uint8_t *data, in hid_item_t h; int32_t report_id, usage, page, val, mouse_x, mouse_y, mouse_z, mouse_butt, - mevents, kevents; + mevents, kevents, i; assert(s != NULL); assert(s->srv != NULL); @@ -150,8 +150,8 @@ hid_interrupt(bthid_session_p s, uint8_t *data, in } report_id = data[1]; - data += 2; - len -= 2; + data ++; + len --; hid_device = get_hid_device(&s->bdaddr); assert(hid_device != NULL); @@ -202,17 +202,11 @@ hid_interrupt(bthid_session_p s, uint8_t *data, in if (val && val < kbd_maxkey()) bit_set(s->keys1, val); - data ++; - len --; - - len = min(len, h.report_size); - while (len > 0) { + for (i = 1; i < h.report_count; i++) { + h.pos += h.report_size; val = hid_get_data(data, &h); if (val && val < kbd_maxkey()) bit_set(s->keys1, val); - - data ++; - len --; } } break; --huq684BweRXVnRxX-- From owner-freebsd-usb@FreeBSD.ORG Fri May 7 10:13:30 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3821A106564A; Fri, 7 May 2010 10:13:30 +0000 (UTC) (envelope-from alex.deiter@gmail.com) Received: from mail-yx0-f175.google.com (mail-yx0-f175.google.com [209.85.210.175]) by mx1.freebsd.org (Postfix) with ESMTP id 944C38FC16; Fri, 7 May 2010 10:13:29 +0000 (UTC) Received: by yxe5 with SMTP id 5so450398yxe.3 for ; Fri, 07 May 2010 03:13:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=WFP78hoOd01QU/CLIIX+IuebNrjKpMz261XVsUoeKX0=; b=gEabBPAmlTZj2xoYH1MWEz848RhBIFsQZr+wuIX5UHQdOEvp9ZmtUJOQufNW7/RwrJ 33Cwa9gYyw0QjIfYt0FsRVSVmw82diTSZYeo1IThh/hOXUQIFUECOaHUOY7hIUDcFYhO JieoMPq/iPerWX1qLzNcl72FvEt3Mv8Hh7wJU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=UFATXzC/sqJhpu2U5KuzmO34gM0eAUAxIUZriVGkWIzgMULCU8AMn1HBW9KhatRybP GwkpChGaz/LElNB3BchsLbfR8NqQBKcuyFMkRynwcaseRDrkBwx+qo6RPg748UUIA8IK EfvS2NyOGz4RxsV2VgXnkUkX9V9rT3UsDJxpM= MIME-Version: 1.0 Received: by 10.101.179.21 with SMTP id g21mr10148284anp.265.1273227195477; Fri, 07 May 2010 03:13:15 -0700 (PDT) Received: by 10.100.91.20 with HTTP; Fri, 7 May 2010 03:13:15 -0700 (PDT) In-Reply-To: <201005070938.49542.hselasky@c2i.net> References: <201005070349.o473nhSF065849@www.freebsd.org> <201005070938.49542.hselasky@c2i.net> Date: Fri, 7 May 2010 14:13:15 +0400 Message-ID: From: Alex Deiter To: Hans Petter Selasky Content-Type: multipart/mixed; boundary=001636c92b45b471620485fe4e86 Cc: freebsd-gnats-submit@freebsd.org, freebsd-usb@freebsd.org Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support 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: Fri, 07 May 2010 10:13:30 -0000 --001636c92b45b471620485fe4e86 Content-Type: text/plain; charset=UTF-8 Hi, Thanks a lot for your reply! I`m applied patches and rebuild kernel and world. After system reboot problem still persist: PS/2 mouse work fine USB mouse work fine Bluetooth mouse doesn't'work - see attached video (can be view with mplayer) P.S. with my patch bt mouse work fine Thanks a lot! 2010/5/7 Hans Petter Selasky : > On Friday 07 May 2010 05:49:43 Alex Deiter wrote: >> Alex Deiter >> > > Hi, > > The first part of the patch is not correct. The ID byte should be included in > the buffer or you need to extend the buffer. Note that the kernel version of > hid_get_data() is different at this point. > > The second part of your patch is correct, and indicates a merge glitch, due to > changing the signedness of the data type some time back. > > Can you try the following patch in kernel and user-space and see that it works > for your BT-mouse and USB-mouse? > > http://p4web.freebsd.org/@@177882?ac=10 > > --HPS > -- -- Alex Deiter --001636c92b45b471620485fe4e86 Content-Type: application/octet-stream; name="07052010.3gp" Content-Disposition: attachment; filename="07052010.3gp" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g8wukuux0 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 --001636c92b45b471620485fe4e86-- From owner-freebsd-usb@FreeBSD.ORG Fri May 7 10:17:03 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C46C2106566B; Fri, 7 May 2010 10:17:03 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe02.swip.net [212.247.154.33]) by mx1.freebsd.org (Postfix) with ESMTP id 2A0748FC18; Fri, 7 May 2010 10:17:02 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=6EUBQkwqK50A:10 a=Q9fys5e9bTEA:10 a=M8b_wTzEtboA:10 a=MnI1ikcADjEx7bvsp0jZvQ==:17 a=zkeS1lEuY7I1xQfkawAA:9 a=UYdWKmM3PE1tzatU3rP0MsvJS6wA:4 a=PUjeQqilurYA:10 Received: from [188.126.201.140] (account mc467741@c2i.net HELO laptop002.hselasky.homeunix.org) by mailfe02.swip.net (CommuniGate Pro SMTP 5.2.19) with ESMTPA id 1375315786; Fri, 07 May 2010 12:17:01 +0200 From: Hans Petter Selasky To: Alex Deiter Date: Fri, 7 May 2010 12:14:14 +0200 User-Agent: KMail/1.12.4 (FreeBSD/8.0-STABLE; KDE/4.3.4; amd64; ; ) References: <201005070349.o473nhSF065849@www.freebsd.org> <201005070938.49542.hselasky@c2i.net> In-Reply-To: X-Face: +~\`s("[*|O,="7?X@L.elg*F"OA\I/3%^p8g?ab%RN'(; _IjlA: hGE..Ew, XAQ*o#\/M~SC=S1-f9{EzRfT'|Hhll5Q]ha5Bt-s|oTlKMusi:1e[wJl}kd}GR Z0adGx-x_0zGbZj'e(Y[(UNle~)8CQWXW@:DX+9)_YlB[tIccCPN$7/L' MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201005071214.14917.hselasky@c2i.net> Cc: freebsd-gnats-submit@freebsd.org, freebsd-usb@freebsd.org Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support 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: Fri, 07 May 2010 10:17:03 -0000 On Friday 07 May 2010 12:13:15 Alex Deiter wrote: > Hi, > > Thanks a lot for your reply! > I`m applied patches and rebuild kernel and world. > After system reboot problem still persist: > > PS/2 mouse work fine > USB mouse work fine > Bluetooth mouse doesn't'work - see attached video (can be view with > mplayer) > > P.S. with my patch bt mouse work fine > > Thanks a lot! Which daemon is driving the BT mouse? --HPS From owner-freebsd-usb@FreeBSD.ORG Fri May 7 10:20:04 2010 Return-Path: Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CE07F1065675 for ; Fri, 7 May 2010 10:20:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id BC3CD8FC16 for ; Fri, 7 May 2010 10:20:04 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o47AK4XX024607 for ; Fri, 7 May 2010 10:20:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o47AK4Et024606; Fri, 7 May 2010 10:20:04 GMT (envelope-from gnats) Date: Fri, 7 May 2010 10:20:04 GMT Message-Id: <201005071020.o47AK4Et024606@freefall.freebsd.org> To: freebsd-usb@FreeBSD.org From: Alex Deiter Cc: Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Alex Deiter List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 May 2010 10:20:04 -0000 The following reply was made to PR usb/146367; it has been noted by GNATS. From: Alex Deiter To: Hans Petter Selasky Cc: freebsd-usb@freebsd.org, freebsd-gnats-submit@freebsd.org Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support Date: Fri, 7 May 2010 14:13:15 +0400 --001636c92b45b471620485fe4e86 Content-Type: text/plain; charset=UTF-8 Hi, Thanks a lot for your reply! I`m applied patches and rebuild kernel and world. After system reboot problem still persist: PS/2 mouse work fine USB mouse work fine Bluetooth mouse doesn't'work - see attached video (can be view with mplayer) P.S. with my patch bt mouse work fine Thanks a lot! 2010/5/7 Hans Petter Selasky : > On Friday 07 May 2010 05:49:43 Alex Deiter wrote: >> Alex Deiter >> > > Hi, > > The first part of the patch is not correct. The ID byte should be included in > the buffer or you need to extend the buffer. Note that the kernel version of > hid_get_data() is different at this point. > > The second part of your patch is correct, and indicates a merge glitch, due to > changing the signedness of the data type some time back. > > Can you try the following patch in kernel and user-space and see that it works > for your BT-mouse and USB-mouse? > > http://p4web.freebsd.org/@@177882?ac=10 > > --HPS > -- -- Alex Deiter --001636c92b45b471620485fe4e86 Content-Type: application/octet-stream; name="07052010.3gp" Content-Disposition: attachment; filename="07052010.3gp" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g8wukuux0 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 --001636c92b45b471620485fe4e86-- From owner-freebsd-usb@FreeBSD.ORG Fri May 7 10:20:06 2010 Return-Path: Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B6E6F106566B for ; Fri, 7 May 2010 10:20:06 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id A667D8FC17 for ; Fri, 7 May 2010 10:20:06 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o47AK6VE024622 for ; Fri, 7 May 2010 10:20:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o47AK64o024619; Fri, 7 May 2010 10:20:06 GMT (envelope-from gnats) Date: Fri, 7 May 2010 10:20:06 GMT Message-Id: <201005071020.o47AK64o024619@freefall.freebsd.org> To: freebsd-usb@FreeBSD.org From: Hans Petter Selasky Cc: Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Hans Petter Selasky List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 May 2010 10:20:06 -0000 The following reply was made to PR usb/146367; it has been noted by GNATS. From: Hans Petter Selasky To: Alex Deiter Cc: freebsd-usb@freebsd.org, freebsd-gnats-submit@freebsd.org Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support Date: Fri, 7 May 2010 12:14:14 +0200 On Friday 07 May 2010 12:13:15 Alex Deiter wrote: > Hi, > > Thanks a lot for your reply! > I`m applied patches and rebuild kernel and world. > After system reboot problem still persist: > > PS/2 mouse work fine > USB mouse work fine > Bluetooth mouse doesn't'work - see attached video (can be view with > mplayer) > > P.S. with my patch bt mouse work fine > > Thanks a lot! Which daemon is driving the BT mouse? --HPS From owner-freebsd-usb@FreeBSD.ORG Fri May 7 10:21:54 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B9F6E106566B; Fri, 7 May 2010 10:21:54 +0000 (UTC) (envelope-from kaiwang27@gmail.com) Received: from mail-ew0-f224.google.com (mail-ew0-f224.google.com [209.85.219.224]) by mx1.freebsd.org (Postfix) with ESMTP id 6BFC48FC0A; Fri, 7 May 2010 10:21:53 +0000 (UTC) Received: by ewy24 with SMTP id 24so215974ewy.33 for ; Fri, 07 May 2010 03:21:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:received :x-authentication-warning:date:from:to:cc:subject:message-id :references:mime-version:content-type:content-disposition :in-reply-to:user-agent; bh=xD2Njwn1pxYkuP+c2sq4RdeDpAUZSoPkmXtkPSJWr9M=; b=Bq0ji1HdLqwYdv7wjEnfjVxySjUjKDaFIznvMq26pXhjQ8Upq13uzgdyd0/CnG9GXW LtSZ9Hg8gwGlXreK7a0Zf7NogpTMR8cdWfGFu4UdSpGnEnce/w8RlugEWq4uVu74TsR/ hPsrTBUH5R//TFMAlIaWQB05QMdXVx/TtAzXY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=x-authentication-warning:date:from:to:cc:subject:message-id :references:mime-version:content-type:content-disposition :in-reply-to:user-agent; b=dubdUFKPoDVGEygrlF2UUIQ+Tw3HQNNsIMc8v9umuKPWDPT5kWHSmM8MDvXlChdvMT 56sJ5O/Nc9puqYQX2WGU4wi2VjmXsXDWoHcrLffhCzzPKnq0sn1vJUEdnjJSRUY0dpOs 8lFjQpKmAyvJa33hFJiMMHBt62Nk3cUjMoeX0= Received: by 10.213.43.79 with SMTP id v15mr4450098ebe.60.1273227708399; Fri, 07 May 2010 03:21:48 -0700 (PDT) Received: from localhost (81-233-38-26-no36.tbcn.telia.com [81.233.38.26]) by mx.google.com with ESMTPS id 13sm1052567ewy.9.2010.05.07.03.21.47 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 07 May 2010 03:21:47 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=localhost.my.domain) by localhost with esmtp (Exim 4.71 (FreeBSD)) (envelope-from ) id 1OAKgk-0000pJ-Fe; Fri, 07 May 2010 12:21:46 +0200 Received: (from kaiw@localhost) by localhost.my.domain (8.14.3/8.14.3/Submit) id o47ALknW003180; Fri, 7 May 2010 12:21:46 +0200 (CEST) (envelope-from kaiwang27@gmail.com) X-Authentication-Warning: localhost.my.domain: kaiw set sender to kaiwang27@gmail.com using -f Date: Fri, 7 May 2010 12:21:46 +0200 From: Kai Wang To: Hans Petter Selasky Message-ID: <20100507102146.GA3101@viskning> References: <201005070349.o473nhSF065849@www.freebsd.org> <201005070938.49542.hselasky@c2i.net> <201005071214.14917.hselasky@c2i.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <201005071214.14917.hselasky@c2i.net> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-gnats-submit@freebsd.org, Alex Deiter , freebsd-usb@freebsd.org Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support 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: Fri, 07 May 2010 10:21:54 -0000 On Fri, May 07, 2010 at 12:14:14PM +0200, Hans Petter Selasky wrote: > On Friday 07 May 2010 12:13:15 Alex Deiter wrote: > > Hi, > > > > Thanks a lot for your reply! > > I`m applied patches and rebuild kernel and world. > > After system reboot problem still persist: > > > > PS/2 mouse work fine > > USB mouse work fine > > Bluetooth mouse doesn't'work - see attached video (can be view with > > mplayer) > > > > P.S. with my patch bt mouse work fine > > > > Thanks a lot! > > Which daemon is driving the BT mouse? It is the bthidd(8) daemon. I've proposed a patch here: http://lists.freebsd.org/pipermail/freebsd-usb/2010-May/008675.html But I can not test it since I don't have any bluetooth mouse or keyboard. Kai From owner-freebsd-usb@FreeBSD.ORG Fri May 7 10:30:05 2010 Return-Path: Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 24499106566B for ; Fri, 7 May 2010 10:30:05 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 136C48FC08 for ; Fri, 7 May 2010 10:30:05 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o47AU4Hk032718 for ; Fri, 7 May 2010 10:30:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o47AU41M032713; Fri, 7 May 2010 10:30:04 GMT (envelope-from gnats) Date: Fri, 7 May 2010 10:30:04 GMT Message-Id: <201005071030.o47AU41M032713@freefall.freebsd.org> To: freebsd-usb@FreeBSD.org From: Kai Wang Cc: Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Kai Wang List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 May 2010 10:30:05 -0000 The following reply was made to PR usb/146367; it has been noted by GNATS. From: Kai Wang To: Hans Petter Selasky Cc: Alex Deiter , freebsd-gnats-submit@freebsd.org, freebsd-usb@freebsd.org Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support Date: Fri, 7 May 2010 12:21:46 +0200 On Fri, May 07, 2010 at 12:14:14PM +0200, Hans Petter Selasky wrote: > On Friday 07 May 2010 12:13:15 Alex Deiter wrote: > > Hi, > > > > Thanks a lot for your reply! > > I`m applied patches and rebuild kernel and world. > > After system reboot problem still persist: > > > > PS/2 mouse work fine > > USB mouse work fine > > Bluetooth mouse doesn't'work - see attached video (can be view with > > mplayer) > > > > P.S. with my patch bt mouse work fine > > > > Thanks a lot! > > Which daemon is driving the BT mouse? It is the bthidd(8) daemon. I've proposed a patch here: http://lists.freebsd.org/pipermail/freebsd-usb/2010-May/008675.html But I can not test it since I don't have any bluetooth mouse or keyboard. Kai From owner-freebsd-usb@FreeBSD.ORG Fri May 7 10:37:46 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BB3D51065670; Fri, 7 May 2010 10:37:46 +0000 (UTC) (envelope-from alex.deiter@gmail.com) Received: from mail-gx0-f226.google.com (mail-gx0-f226.google.com [209.85.217.226]) by mx1.freebsd.org (Postfix) with ESMTP id 38DBD8FC14; Fri, 7 May 2010 10:37:45 +0000 (UTC) Received: by gxk26 with SMTP id 26so521122gxk.13 for ; Fri, 07 May 2010 03:37:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=LF+KPWP6om1zljSLOQqkYNdYJWYoLaX6ZVyFBEZarQg=; b=hujLRgQ0LDjWveWQcqu6KdCpfJbxv7Bs/nc16xMEj/ZFoGIUB3bDBz/MZeVy+FcP62 v/qfKiGN50DNmN0Cy+SodtvxduiBt0GbjempkVnGx99c66hHhe1AnktAmDnbEP47QPj8 /9rKIBAAuIce6lx3bk+EsZ6fWZ58U+9bNls58= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=f/iVe0muAT6/m0den3avqKLmcUd1j86E5kO5co4c5OMsGt2m49uaJtaRO6qaMb8Pzh buasIeaZCkT8Gtf6x9q5/P7dkXeuYanhi1mou4BYrSa7GXruZOXchqcEWFpO+bTfawFb p+Fz2NmrihLUk3Hq5f+tXXe7NhpRKTOVJkod8= MIME-Version: 1.0 Received: by 10.101.205.18 with SMTP id h18mr1079anq.30.1273228659391; Fri, 07 May 2010 03:37:39 -0700 (PDT) Received: by 10.100.91.20 with HTTP; Fri, 7 May 2010 03:37:39 -0700 (PDT) In-Reply-To: <20100507095718.GA3047@viskning> References: <20100507095718.GA3047@viskning> Date: Fri, 7 May 2010 14:37:39 +0400 Message-ID: From: Alex Deiter To: Kai Wang Content-Type: text/plain; charset=UTF-8 Cc: freebsd-bluetooth@freebsd.org, current@freebsd.org, freebsd-usb@freebsd.org, hps@freebsd.org Subject: Re: Revision 205728: broken bluetooth mouse support 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: Fri, 07 May 2010 10:37:46 -0000 Hi Kal, Thanks a lot for your patch! I`m apply this patch and my bt mouse work fine again! For Hans: > Which daemon is driving the BT mouse? bthidd patch for bthidd(8) works fine only WITH your patches for: lib/libusbhid/data.c sys/dev/usb/usb_hid.c sys/dev/usb/usbhid.h Thanks a lot! 2010/5/7 Kai Wang : > On Fri, May 07, 2010 at 01:58:13AM +0400, Alex Deiter wrote: >> Hi, >> >> Bluetooth mouse support is broken after Revision 205728: >> >> http://svn.freebsd.org/viewvc/base?view=revision&revision=205728 >> >> When I move the mouse - cursor stays in same place but moves the >> current position of the console. >> >> Proposed patch as an attachment. Could you please revew this ? > > Hi Alex, > > If we adopt your patch, usbhidctl(1) and usbhidaction(1) will be > broken again on device with multiple report IDs. > > Could you please try if the attached patch for the bthidd(8) > daemon works as well? > > Thanks, > Kai > -- -- Alex Deiter From owner-freebsd-usb@FreeBSD.ORG Fri May 7 10:39:55 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 59711106564A; Fri, 7 May 2010 10:39:55 +0000 (UTC) (envelope-from alex.deiter@gmail.com) Received: from mail-gw0-f54.google.com (mail-gw0-f54.google.com [74.125.83.54]) by mx1.freebsd.org (Postfix) with ESMTP id 00CE48FC08; Fri, 7 May 2010 10:39:54 +0000 (UTC) Received: by gwaa20 with SMTP id a20so114980gwa.13 for ; Fri, 07 May 2010 03:39:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=Tn0+vx54HlPkmg+oyDLAKJVENVtfqPtFqRzzmCzWASQ=; b=uUDjnA+cxwUPPdiN5Ji3PIDC57k22AEJ2cBqkbf7Rc5jTcoHRcpcfspKI0RAN/Bl+y KpBxuhk/drpEEDZgAS5Ho79jfmgPh63K07jwJqx4/AVc+ClAWIcDSuEgLG+Q4VD/+I2r Is3VMPC9Azt0vMK7XSdicH44CyQ47ZVrhWjfA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=kQV0gOzLPy6D2J01gAyvJMMlviir1Icz07NL3cXX4Q4TTUW8CAvedPFLsV7ztE7TeP bialc7S5+QB8QG3WoejLXys+tq5DHQTyTfMhh6Oa0IOOF0bPbIogKOT6lpVqr6qqiXmF EnnARWNI0Jt9UX7Vrm7TvgLCQpvEwl5GCxqVA= MIME-Version: 1.0 Received: by 10.101.145.35 with SMTP id x35mr10143150ann.236.1273228788094; Fri, 07 May 2010 03:39:48 -0700 (PDT) Received: by 10.100.91.20 with HTTP; Fri, 7 May 2010 03:39:48 -0700 (PDT) In-Reply-To: <201005071214.14917.hselasky@c2i.net> References: <201005070349.o473nhSF065849@www.freebsd.org> <201005070938.49542.hselasky@c2i.net> <201005071214.14917.hselasky@c2i.net> Date: Fri, 7 May 2010 14:39:48 +0400 Message-ID: From: Alex Deiter To: Hans Petter Selasky Content-Type: text/plain; charset=UTF-8 Cc: freebsd-gnats-submit@freebsd.org, freebsd-usb@freebsd.org Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support 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: Fri, 07 May 2010 10:39:55 -0000 Hi Hans, I`m apply patch for bthidd from Kal and my bt mouse work fine again! > Which daemon is driving the BT mouse? bthidd patch from Kal for bthidd(8) works fine only WITH your patches for: lib/libusbhid/data.c sys/dev/usb/usb_hid.c sys/dev/usb/usbhid.h Thanks a lot! 2010/5/7 Hans Petter Selasky : > On Friday 07 May 2010 12:13:15 Alex Deiter wrote: >> Hi, >> >> Thanks a lot for your reply! >> I`m applied patches and rebuild kernel and world. >> After system reboot problem still persist: >> >> PS/2 mouse work fine >> USB mouse work fine >> Bluetooth mouse doesn't'work - see attached video (can be view with >> mplayer) >> >> P.S. with my patch bt mouse work fine >> >> Thanks a lot! > > Which daemon is driving the BT mouse? > > --HPS > -- -- Alex Deiter From owner-freebsd-usb@FreeBSD.ORG Fri May 7 10:40:06 2010 Return-Path: Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 775C2106566C for ; Fri, 7 May 2010 10:40:06 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 66C6F8FC16 for ; Fri, 7 May 2010 10:40:06 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o47Ae60g044762 for ; Fri, 7 May 2010 10:40:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o47Ae6o4044761; Fri, 7 May 2010 10:40:06 GMT (envelope-from gnats) Date: Fri, 7 May 2010 10:40:06 GMT Message-Id: <201005071040.o47Ae6o4044761@freefall.freebsd.org> To: freebsd-usb@FreeBSD.org From: Alex Deiter Cc: Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Alex Deiter List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 May 2010 10:40:06 -0000 The following reply was made to PR usb/146367; it has been noted by GNATS. From: Alex Deiter To: Hans Petter Selasky Cc: freebsd-usb@freebsd.org, freebsd-gnats-submit@freebsd.org Subject: Re: usb/146367: [PATCH] Revision 205728: broken bluetooth mouse support Date: Fri, 7 May 2010 14:39:48 +0400 Hi Hans, I`m apply patch for bthidd from Kal and my bt mouse work fine again! > Which daemon is driving the BT mouse? bthidd patch from Kal for bthidd(8) works fine only WITH your patches for: lib/libusbhid/data.c sys/dev/usb/usb_hid.c sys/dev/usb/usbhid.h Thanks a lot! 2010/5/7 Hans Petter Selasky : > On Friday 07 May 2010 12:13:15 Alex Deiter wrote: >> Hi, >> >> Thanks a lot for your reply! >> I`m applied patches and rebuild kernel and world. >> After system reboot problem still persist: >> >> PS/2 mouse work fine >> USB mouse work fine >> Bluetooth mouse doesn't'work - see attached video (can be view with >> mplayer) >> >> P.S. with my patch bt mouse work fine >> >> Thanks a lot! > > Which daemon is driving the BT mouse? > > --HPS > -- -- Alex Deiter From owner-freebsd-usb@FreeBSD.ORG Fri May 7 12:50:05 2010 Return-Path: Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D9F9C106564A for ; Fri, 7 May 2010 12:50:05 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id B0E5D8FC16 for ; Fri, 7 May 2010 12:50:05 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o47Co5HX057833 for ; Fri, 7 May 2010 12:50:05 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o47Co57H057832; Fri, 7 May 2010 12:50:05 GMT (envelope-from gnats) Date: Fri, 7 May 2010 12:50:05 GMT Message-Id: <201005071250.o47Co57H057832@freefall.freebsd.org> To: freebsd-usb@FreeBSD.org From: "Peter Toth" Cc: Subject: Re: usb/146104: Samsung YP-U4 mp3 player USB_ERR_TIMEOUT X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Peter Toth List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 May 2010 12:50:05 -0000 The following reply was made to PR usb/146104; it has been noted by GNATS. From: "Peter Toth" To: bug-followup@freebsd.org, peter.toth198@gmail.com Cc: Subject: Re: usb/146104: Samsung YP-U4 mp3 player USB_ERR_TIMEOUT Date: Sat, 08 May 2010 00:42:57 +1200 I've put this line into /usr/src/sys/dev/usb/usbdevs just bellow SAMSUNG YP-U2: product SAMSUNG YP_U4 0x5092 YP-U4 MP3 Player and added this to /usr/src/sys/dev/usb/quirk/usb_quirk.c : USB_QUIRK(SAMSUNG, YP_U4, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE), All working like a charm. Could this be included in FreeBSD 8.1? From owner-freebsd-usb@FreeBSD.ORG Fri May 7 13:28:23 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E1BD6106566B for ; Fri, 7 May 2010 13:28:23 +0000 (UTC) (envelope-from ticso@cicely7.cicely.de) Received: from raven.bwct.de (raven.bwct.de [85.159.14.73]) by mx1.freebsd.org (Postfix) with ESMTP id 4EBC78FC0A for ; Fri, 7 May 2010 13:28:22 +0000 (UTC) Received: from mail.cicely.de ([10.1.1.37]) by raven.bwct.de (8.13.4/8.13.4) with ESMTP id o47DRdUd037142 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 7 May 2010 15:27:39 +0200 (CEST) (envelope-from ticso@cicely7.cicely.de) Received: from cicely7.cicely.de (cicely7.cicely.de [10.1.1.9]) by mail.cicely.de (8.14.3/8.14.3) with ESMTP id o47DRSFS029858 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 7 May 2010 15:27:28 +0200 (CEST) (envelope-from ticso@cicely7.cicely.de) Received: from cicely7.cicely.de (localhost [127.0.0.1]) by cicely7.cicely.de (8.14.2/8.14.2) with ESMTP id o47DRSKB030746; Fri, 7 May 2010 15:27:28 +0200 (CEST) (envelope-from ticso@cicely7.cicely.de) Received: (from ticso@localhost) by cicely7.cicely.de (8.14.2/8.14.2/Submit) id o47DRPku030745; Fri, 7 May 2010 15:27:25 +0200 (CEST) (envelope-from ticso) Date: Fri, 7 May 2010 15:27:25 +0200 From: Bernd Walter To: Mike Tancsa Message-ID: <20100507132724.GO3185@cicely7.cicely.de> References: <201005061949.o46Jngdt028521@lava.sentex.ca> <201005062240.30548.hselasky@c2i.net> <201005062056.o46KuV0k028879@lava.sentex.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201005062056.o46KuV0k028879@lava.sentex.ca> X-Operating-System: FreeBSD cicely7.cicely.de 7.0-STABLE i386 User-Agent: Mutt/1.5.11 X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED=-1, BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01 autolearn=unavailable version=3.3.0 X-Spam-Checker-Version: SpamAssassin 3.3.0 (2010-01-18) on spamd.cicely.de Cc: adk0212@gmail.com, freebsd-usb@freebsd.org Subject: Re: apcupsd port regression from 7x. to 8.x X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ticso@cicely.de List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 May 2010 13:28:24 -0000 On Thu, May 06, 2010 at 04:56:36PM -0400, Mike Tancsa wrote: > At 04:40 PM 5/6/2010, Hans Petter Selasky wrote: > >> 0.003 apcupsd: generic-usb.c:398 Initializing libusb > > > >The FreeBSD LibUSB v0.1 reports the wrong number of busses and devices. I > >can > >fix this. > > Great! > > >> 0.003 apcupsd: generic-usb.c:403 Found 0 USB busses > >> 0.007 apcupsd: generic-usb.c:405 Found 0 USB devices > > > >The problem is that the UPS code is designed to attach to the first > >matching > >device only. LibUSB does not hide devices with drivers already > >attached, which > >I think your utility assumes. You should use: > > > >pidfile, see man pidfile > > > >To create a temporary file with some string which consists of all numbers > >in > >udev->filename, separated by ".". Or USB LibUSB v.1.0! > > I am guessing the program would need to be re-written to use v1.0 > ? Thanks for the feedback and help as always! I recently converted own code to 1.0 API, just to get negative feedback from Debian users, since they only offer libusb 0.1 packages for anything but bleeding edge development versions. I assume because of this the old API will still be around for some time. -- B.Walter http://www.bwct.de Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm. From owner-freebsd-usb@FreeBSD.ORG Fri May 7 13:59:03 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 25A74106564A for ; Fri, 7 May 2010 13:59:03 +0000 (UTC) (envelope-from xiaofanc@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 8FFD58FC1A for ; Fri, 7 May 2010 13:59:02 +0000 (UTC) Received: by vws17 with SMTP id 17so499396vws.13 for ; Fri, 07 May 2010 06:58:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=I+xPr2BVm3zpn8zFNpDAG0FqNsbrwDkWjagQVAFxn38=; b=I03u0rIzEVst26rtaWE8hNJwbFCQJugIzLSdjAT3rpq/dcpFOTRXjV39wI8sSOYpzT 2bU3rZp6VPGRnD+C7jA6KvA6yQ1LJ4hjWmCmD/YbtMbRgPZxlrVQRcsJnWLfStfL4dkr 1MeXKZkOzOEChZTEs0u83hTMbbadGCsJTxnN4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=X6mlvdG2DjmtEpL9xOrm+So1G+YkvvZrb8lrVOLbmk8p1LP3AfbItckBBaHAUEUErK z1J6w69MF7m6sknMTssbCyhVaKtpJhewJapWs2uIP+wCMEYCHw/ZNGlvf5cxmMEd1vUB YQhISwVzueL7eyVbbu26BrGWPxmyBoyY2EybA= MIME-Version: 1.0 Received: by 10.229.230.84 with SMTP id jl20mr6490906qcb.88.1273240353887; Fri, 07 May 2010 06:52:33 -0700 (PDT) Received: by 10.229.13.16 with HTTP; Fri, 7 May 2010 06:52:33 -0700 (PDT) In-Reply-To: <201005062240.30548.hselasky@c2i.net> References: <201005061949.o46Jngdt028521@lava.sentex.ca> <201005062240.30548.hselasky@c2i.net> Date: Fri, 7 May 2010 21:52:33 +0800 Message-ID: From: Xiaofan Chen To: Hans Petter Selasky Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-usb@freebsd.org Subject: Re: apcupsd port regression from 7x. to 8.x 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: Fri, 07 May 2010 13:59:03 -0000 On Fri, May 7, 2010 at 4:40 AM, Hans Petter Selasky wrote: > > The FreeBSD LibUSB v0.1 reports the wrong number of busses and devices. I can > fix this. > > I've made a small patch, but it won't fix your issue :-( > > http://p4web.freebsd.org/@@177865?ac=10 > I am not so sure if this is related to the bugs of pyusb here. http://sourceforge.net/mailarchive/forum.php?thread_name=w2ua276da401004190609t9f26a872qa0c0217e91c39180%40mail.gmail.com&forum_name=pyusb-users If possible, please give pyusb a try. Thanks. I have not updated to 8-stable to be able to catch up with the libusb changes in FreeBSD. The later changes of libusb under FreeBSD does not seem to be compatible with 8-Release. -- Xiaofan http://mcuee.blogspot.com From owner-freebsd-usb@FreeBSD.ORG Fri May 7 14:16:24 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A0DCF1065673 for ; Fri, 7 May 2010 14:16:24 +0000 (UTC) (envelope-from xiaofanc@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 54D308FC16 for ; Fri, 7 May 2010 14:16:23 +0000 (UTC) Received: by vws17 with SMTP id 17so518541vws.13 for ; Fri, 07 May 2010 07:16:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=I5ixk3gf475bkehPMMVtXMqYHhTkbfzeSsaNP62g+Ec=; b=psAa1sh0BnC6uTDD6LodJwyfUWdgpue2OdLQGw4TCik9OXCadLrIjdilUFYdg3u2d2 q9rT3OaGojjC7gWxgHqxcgu30bDGd9rguhVTOVK4UF+Z1MClO8Ym3jWfygv2A57YlH+l VLrwHGxWsuhzYjLCnzEbG5aSjd/+1A03J4sXQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=SBaNmxhw9Eu3/SkTiHsxnQRo4NWZzs6p1triy5KDQcOzEXWszM+/EOPOhZcnSLCQ8h VnSjUbp3Ha4D7NLhtNZ6o/jZwQlBkSzRkB5rKqverpv+eVehEr6ghieVpFFLFmvZr3vB Bewtsp02J0xeH7lsEewcfz0+iuryr0hJOJYXQ= MIME-Version: 1.0 Received: by 10.229.188.71 with SMTP id cz7mr5416807qcb.6.1273239881584; Fri, 07 May 2010 06:44:41 -0700 (PDT) Received: by 10.229.13.16 with HTTP; Fri, 7 May 2010 06:44:41 -0700 (PDT) In-Reply-To: <20100507132724.GO3185@cicely7.cicely.de> References: <201005061949.o46Jngdt028521@lava.sentex.ca> <201005062240.30548.hselasky@c2i.net> <201005062056.o46KuV0k028879@lava.sentex.ca> <20100507132724.GO3185@cicely7.cicely.de> Date: Fri, 7 May 2010 21:44:41 +0800 Message-ID: From: Xiaofan Chen To: ticso@cicely.de Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: adk0212@gmail.com, freebsd-usb@freebsd.org Subject: Re: apcupsd port regression from 7x. to 8.x 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: Fri, 07 May 2010 14:16:24 -0000 On Fri, May 7, 2010 at 9:27 PM, Bernd Walter wrot= e: >> I am guessing the program would need to be re-written to use v1.0 >> ? =A0Thanks for the feedback and help as always! > > I recently converted own code to 1.0 API, just to get negative > feedback from Debian users, since they only offer libusb 0.1 packages > for anything but bleeding edge development versions. > I assume because of this the old API will still be around for some time. > Hmm, that is a bit strange. But you are right Debian/Ubuntu still have libusb-0.1 and libusb-1.0. Other Linux distros move to libusb-1.0 and libusb-0.1-compat since libusb-0.1 is no longer maintained by the developers and the bug reports are treated as "won't fix". http://www.libusb.org/report/1 --=20 Xiaofan (part of the libusb-win32 admin team) From owner-freebsd-usb@FreeBSD.ORG Fri May 7 17:29:47 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7D39A1065673 for ; Fri, 7 May 2010 17:29:47 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe14.swipnet.se [212.247.155.161]) by mx1.freebsd.org (Postfix) with ESMTP id 0C8DB8FC20 for ; Fri, 7 May 2010 17:29:46 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=ysSFl0pJ4e4A:10 a=Q9fys5e9bTEA:10 a=M8b_wTzEtboA:10 a=MnI1ikcADjEx7bvsp0jZvQ==:17 a=O09FpuGlYgjencY1fT4A:9 a=689eTv8gQfDCnslcw3QOSi9QzB0A:4 a=PUjeQqilurYA:10 Received: from [188.126.201.140] (account mc467741@c2i.net HELO laptop002.hselasky.homeunix.org) by mailfe14.swip.net (CommuniGate Pro SMTP 5.2.19) with ESMTPA id 622084278; Fri, 07 May 2010 19:29:45 +0200 From: Hans Petter Selasky To: freebsd-usb@freebsd.org, Peter Toth Date: Fri, 7 May 2010 19:26:57 +0200 User-Agent: KMail/1.12.4 (FreeBSD/8.0-STABLE; KDE/4.3.4; amd64; ; ) References: <201005071250.o47Co57H057832@freefall.freebsd.org> In-Reply-To: <201005071250.o47Co57H057832@freefall.freebsd.org> X-Face: +~\`s("[*|O,="7?X@L.elg*F"OA\I/3%^p8g?ab%RN'(; _IjlA: hGE..Ew, XAQ*o#\/M~SC=S1-f9{EzRfT'|Hhll5Q]ha5Bt-s|oTlKMusi:1e[wJl}kd}GR Z0adGx-x_0zGbZj'e(Y[(UNle~)8CQWXW@:DX+9)_YlB[tIccCPN$7/L' MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201005071926.57788.hselasky@c2i.net> Cc: Subject: Re: usb/146104: Samsung YP-U4 mp3 player USB_ERR_TIMEOUT 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: Fri, 07 May 2010 17:29:47 -0000 See USB P4 change #177918. --HPS From owner-freebsd-usb@FreeBSD.ORG Fri May 7 23:00:01 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 81FFB1065673 for ; Fri, 7 May 2010 23:00:01 +0000 (UTC) (envelope-from peter.toth198@gmail.com) Received: from mail-px0-f182.google.com (mail-px0-f182.google.com [209.85.212.182]) by mx1.freebsd.org (Postfix) with ESMTP id 49C198FC12 for ; Fri, 7 May 2010 23:00:01 +0000 (UTC) Received: by pxi20 with SMTP id 20so765297pxi.13 for ; Fri, 07 May 2010 15:59:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:content-type:to:subject :references:date:mime-version:content-transfer-encoding:from :message-id:in-reply-to:user-agent; bh=KOt5ndEzOUEpvpNchCZMs7zQC+Kevw6JX1GF4DlcfmM=; b=hcRwXR8t7WRdY9T9jVU1jz/+XKDXSyagFW03LRDEHJoZz1BX3ISKLM0XolqfTpJCtN D5lDv6jlpWv+8AuiBJcL73OVEvYfyU+zjZUEQyasJ1uMMKDqBB73+5CQejqE8rxxJwD1 PoPN2wSzZaOKkYvC9IfL4LkbwPkm7HgAZ3q/Q= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=content-type:to:subject:references:date:mime-version :content-transfer-encoding:from:message-id:in-reply-to:user-agent; b=hlr5oJOYBZE0ZW6u9cUoXsMfDPvJtUWjckIHVTIDW2XO0/urpyUr7mFOUcb+KtwJ7T 198RCQy6LguCn4fD2egqduvnNIPVyn6vuE8Yw5FV7ObIUJqRPV1LRJ17DEEUpdRqT5sa LCvYf/nhCwkf2c3iZiBOhnk5YNN4ShDnOIHQ4= Received: by 10.115.64.6 with SMTP id r6mr451834wak.226.1273271484192; Fri, 07 May 2010 15:31:24 -0700 (PDT) Received: from voyager.local (102.109.124.202.static.snap.net.nz [202.124.109.102]) by mx.google.com with ESMTPS id 33sm11324794wad.8.2010.05.07.15.31.22 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 07 May 2010 15:31:23 -0700 (PDT) Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes To: "Hans Petter Selasky" , freebsd-usb@freebsd.org References: <201005071250.o47Co57H057832@freefall.freebsd.org> <201005071926.57788.hselasky@c2i.net> Date: Sat, 08 May 2010 10:31:18 +1200 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: "Peter Toth" Message-ID: In-Reply-To: <201005071926.57788.hselasky@c2i.net> User-Agent: Opera Mail/10.10 (FreeBSD) Cc: Subject: Re: usb/146104: Samsung YP-U4 mp3 player USB_ERR_TIMEOUT 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: Fri, 07 May 2010 23:00:01 -0000 Thank you! On Sat, 08 May 2010 05:26:57 +1200, Hans Petter Selasky wrote: > > See USB P4 change #177918. > > --HPS From owner-freebsd-usb@FreeBSD.ORG Sat May 8 08:12:39 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 14E15106564A for ; Sat, 8 May 2010 08:12:39 +0000 (UTC) (envelope-from xiaofanc@gmail.com) Received: from mail-qy0-f181.google.com (mail-qy0-f181.google.com [209.85.221.181]) by mx1.freebsd.org (Postfix) with ESMTP id C37058FC14 for ; Sat, 8 May 2010 08:12:38 +0000 (UTC) Received: by qyk11 with SMTP id 11so2755666qyk.13 for ; Sat, 08 May 2010 01:12:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=E3jKnQN0rg1lQNV1wtTDHcIUgWi01rZF6qecRXmXmYM=; b=OylGBuatxMo93rJZEULY2p5M1Bvr5l5frOLzx0Dq458TyG+PyNJb88+qBcVeYTUw54 ZQQeDo338vb4vP5rASY6aZzy7gx0J9RW24oBGh2hnjwOHMn3tBbULh+W15o7WRKg8HKB igExnzplsPRxf4bphrg2cc+HPnD0HNx7zUKHw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=cfiKriyKql6doaZ0Ea1/MamT5/D2ljk7IShq2zPmAexAtOPj2GF8AawrGZt+qgVDMU SkObby49JxtEd5uFTRTtezdQmv7esjoL4/hlq7qvF/JBYKC3FWDjoMiDrhw4F0eEnXj4 pasCW2NeLlyAtHs+J5IuKK1d+31nVp9PImyb4= MIME-Version: 1.0 Received: by 10.224.140.131 with SMTP id i3mr708063qau.39.1273306348396; Sat, 08 May 2010 01:12:28 -0700 (PDT) Received: by 10.229.13.16 with HTTP; Sat, 8 May 2010 01:12:28 -0700 (PDT) In-Reply-To: References: <201005061949.o46Jngdt028521@lava.sentex.ca> <201005062240.30548.hselasky@c2i.net> Date: Sat, 8 May 2010 16:12:28 +0800 Message-ID: From: Xiaofan Chen To: Hans Petter Selasky Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-usb@freebsd.org Subject: Re: apcupsd port regression from 7x. to 8.x 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: Sat, 08 May 2010 08:12:39 -0000 On Fri, May 7, 2010 at 9:52 PM, Xiaofan Chen wrote: > On Fri, May 7, 2010 at 4:40 AM, Hans Petter Selasky wrote: >> >> The FreeBSD LibUSB v0.1 reports the wrong number of busses and devices. I can >> fix this. >> >> I've made a small patch, but it won't fix your issue :-( >> >> http://p4web.freebsd.org/@@177865?ac=10 >> > > I am not so sure if this is related to the bugs of pyusb here. > http://sourceforge.net/mailarchive/forum.php?thread_name=w2ua276da401004190609t9f26a872qa0c0217e91c39180%40mail.gmail.com&forum_name=pyusb-users No the patch does not help. I think it is not a problem of libusb under FreeBSD, but rather the bug with pyusb. > If possible, please give pyusb a try. Thanks. I have not updated to > 8-stable to be able > to catch up with the libusb changes in FreeBSD. The later changes of > libusb under FreeBSD does not seem to be compatible with 8-Release. > -- Xiaofan http://mcuee.blogspot.com