From owner-freebsd-usb@FreeBSD.ORG Sat May 18 02:13:28 2013 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1DDA5BF2 for ; Sat, 18 May 2013 02:13:28 +0000 (UTC) (envelope-from mike@sentex.net) Received: from smarthost1.sentex.ca (smarthost1-6.sentex.ca [IPv6:2607:f3e0:0:1::12]) by mx1.freebsd.org (Postfix) with ESMTP id D61E6951 for ; Sat, 18 May 2013 02:13:27 +0000 (UTC) Received: from [192.168.43.26] (pyroxene.sentex.ca [199.212.134.18]) by smarthost1.sentex.ca (8.14.5/8.14.5) with ESMTP id r4I2DRY6082989 for ; Fri, 17 May 2013 22:13:27 -0400 (EDT) (envelope-from mike@sentex.net) Message-ID: <5196E3DE.7000900@sentex.net> Date: Fri, 17 May 2013 22:13:50 -0400 From: Mike Tancsa Organization: Sentex Communications User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 MIME-Version: 1.0 To: freebsd-usb@freebsd.org Subject: powering off USB hubs / ports X-Enigmail-Version: 1.4.2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.72 on 64.7.153.18 X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 May 2013 02:13:28 -0000 We used to use a DLINK hub at remote sites that we could do a usbconfig -d 1.2 power_off;sleep 5;usbconfig -d 1.2 power_on to power cycle the ports and reset a hung device (typically 3G sticks). However, the manufacturer (DLINK) seems to have "improved" the old hub to something totally physically different (same product skew). Now, power_off and power_on simply seems to disconnect the device from the server, but does not actually drop power to the port and reset a hung USB device. Is there any way to find out if this new USB hub actually supports a power off command via some other method ? The old hub looks like ugen1.2: at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0009 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0001 bMaxPacketSize0 = 0x0040 idVendor = 0x8087 idProduct = 0x0024 bcdDevice = 0x0000 iManufacturer = 0x0000 iProduct = 0x0000 iSerialNumber = 0x0000 bNumConfigurations = 0x0001 The new one shows up as 2 hub devices. ugen1.3: at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (100mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0009 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0002 bMaxPacketSize0 = 0x0040 idVendor = 0x05e3 idProduct = 0x0610 bcdDevice = 0x7732 iManufacturer = 0x0000 iProduct = 0x0001 iSerialNumber = 0x0000 bNumConfigurations = 0x0001 ugen1.4: at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (100mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0009 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0002 bMaxPacketSize0 = 0x0040 idVendor = 0x05e3 idProduct = 0x0610 bcdDevice = 0x7732 iManufacturer = 0x0000 iProduct = 0x0001 iSerialNumber = 0x0000 bNumConfigurations = 0x0001 ugen1.3: at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (100mA) Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0029 bNumInterfaces = 0x0001 bConfigurationValue = 0x0001 iConfiguration = 0x0000 bmAttributes = 0x00e0 bMaxPower = 0x0032 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0009 bInterfaceSubClass = 0x0000 bInterfaceProtocol = 0x0001 iInterface = 0x0000 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 bmAttributes = 0x0003 wMaxPacketSize = 0x0001 bInterval = 0x000c bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 0 Alt 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0001 bNumEndpoints = 0x0001 bInterfaceClass = 0x0009 bInterfaceSubClass = 0x0000 bInterfaceProtocol = 0x0002 iInterface = 0x0000 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 bmAttributes = 0x0003 wMaxPacketSize = 0x0001 bInterval = 0x000c bRefresh = 0x0000 bSynchAddress = 0x0000 0(testboxmdt)# usbconfig -d 1.4 dump_all_config_desc ugen1.4: at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (100mA) Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0029 bNumInterfaces = 0x0001 bConfigurationValue = 0x0001 iConfiguration = 0x0000 bmAttributes = 0x00e0 bMaxPower = 0x0032 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0009 bInterfaceSubClass = 0x0000 bInterfaceProtocol = 0x0001 iInterface = 0x0000 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 bmAttributes = 0x0003 wMaxPacketSize = 0x0001 bInterval = 0x000c bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 0 Alt 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0001 bNumEndpoints = 0x0001 bInterfaceClass = 0x0009 bInterfaceSubClass = 0x0000 bInterfaceProtocol = 0x0002 iInterface = 0x0000 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 bmAttributes = 0x0003 wMaxPacketSize = 0x0001 bInterval = 0x000c bRefresh = 0x0000 bSynchAddress = 0x0000 ---Mike -- ------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike@sentex.net Providing Internet services since 1994 www.sentex.net Cambridge, Ontario Canada http://www.tancsa.com/