Comments (7)
Looking through the gousb code that is used in this particular path, I believe there's only one case where that happens, and this is if libusb C call "libusb_open()" returns a "not found" error. Which is unusual, because that error is not on the list of the possible errors returned by libusb_open:
http://libusb.sourceforge.net/api-1.0/group__dev.html#ga8163100afdf933fabed0db7fa81c89d1
Looking in turn at the libusb code, that suggests the "not found" was returned from the OS-specific implementation. What platform are you running this on?
Please check the debug output that you get after setting debug level (https://godoc.org/github.com/google/gousb#Context.Debug) to 3 (info) or 4 (debug).
from gousb.
I use Windows 10 64 bit and msys2 to use mingw, libusb 1.0 and pkg-config.
from gousb.
the debug output would be helpful, without it I'm completely in the dark.
I can only suggest that you check that you've installed the necessary drivers, as explained here: https://github.com/libusb/libusb/wiki/Windows#Driver_Installation
My experience with Windows/libusb is very limited though, so if that doesn't help, I'm not sure I'll be able to help at all.
For confirmation that it's not a problem with gousb, you might want to write a short C example that would open the device: try using https://github.com/libusb/libusb/blob/master/examples/listdevs.c as the base, and around line 38 add a call to libusb_open() and check the return value. If I'm correct, then it will also return -5 and the problem lies entirely within libusb.
from gousb.
2232:1008 (bus 2, device 3): -12 path: 1.4
04e8:6860 (bus 1, device 4): -12 path: 1.2
046d:c52b (bus 1, device 3): -12 path: 1.1
8087:0024 (bus 2, device 2): -12 path: 1
8087:0024 (bus 1, device 2): -12 path: 1
04e8:6860 (bus 1, device 4): -12 path: 1.2
046d:c52b (bus 1, device 3): 0 path: 1.1
0781:5571 (bus 1, device 6): -12 path: 1.5
8086:1c26 (bus 1, device 1): -12
2232:1008 (bus 2, device 3): -5 path: 1.4
04e8:6860 (bus 1, device 4): -12 path: 1.2
04e8:6860 (bus 1, device 4): -12 path: 1.2
8086:1c2d (bus 2, device 1): -12
8086:0189 (bus 1, device 5): -12 path: 1.3
Well, the only one which is opened successfully is mouse(HID) and the others are unsupported or not found. The device I want to communicate with is 04e8:6860
and this device returns error code -12
. But in gousb, it returns -5
.
Here is a full console debug output.
ctx := gousb.NewContext()
defer ctx.Close()
ctx.Debug(4)
devices, err := ctx.OpenDevices(func (desc *gousb.DeviceDesc) bool {
return desc.Vendor == gousb.ID(0x04e8) && desc.Product == gousb.ID(0x6860)
})
[ 0.014009] [000029a0] libusb: debug [libusb_get_device_list]
[ 0.014009] [00003c9c] libusb: debug [libusb_get_next_timeout] no URBs, no timeout!
[ 0.014009] [00003c9c] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.014009] [00003c9c] libusb: debug [handle_events] poll fds modified, reallocating
[ 0.014009] [00003c9c] libusb: debug [handle_events] poll() 1 fds with timeout in 100ms
[ 0.015011] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [24B]
[ 0.015011] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [90]
[ 0.018012] [000029a0] libusb: debug [get_api_type] driver(s): usbhub
[ 0.018012] [000029a0] libusb: debug [get_api_type] matched driver name against HUB API
[ 0.018012] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [312]
[ 0.019013] [000029a0] libusb: debug [get_api_type] driver(s): usbhub
[ 0.020013] [000029a0] libusb: debug [get_api_type] matched driver name against HUB API
[ 0.020013] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [4]
[ 0.021014] [000029a0] libusb: debug [get_api_type] driver(s): usbhub
[ 0.021014] [000029a0] libusb: debug [get_api_type] matched driver name against HUB API
[ 0.021014] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [6]
[ 0.022015] [000029a0] libusb: debug [get_api_type] driver(s): usbhub
[ 0.022015] [000029a0] libusb: debug [get_api_type] matched driver name against HUB API
[ 0.022015] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [210]
[ 0.024017] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [37C]
[ 0.024017] [000029a0] libusb: debug [init_device] got bus number from ancestor #4
[ 0.114408] [00003c9c] libusb: debug [handle_events] poll() returned 0
[ 0.114408] [00003c9c] libusb: debug [libusb_get_next_timeout] no URBs, no timeout!
[ 0.114408] [00003c9c] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.114408] [00003c9c] libusb: debug [handle_events] poll() 1 fds with timeout in 100ms
[ 0.120937] [000029a0] libusb: debug [init_device] found 1 configurations (active conf: 1)
[ 0.120937] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 1261 bytes)
[ 0.120937] [000029a0] libusb: debug [init_device] (bus: 2, addr: 3, depth: 1, port: 4): '\\.\USB#VID_2232&PID_1008&MI_00#7&35941262&0&0000'
[ 0.122162] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [350]
[ 0.122162] [000029a0] libusb: debug [init_device] got bus number from ancestor #4
[ 0.122162] [000029a0] libusb: debug [init_device] found 2 configurations (active conf: 2)
[ 0.123163] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 47 bytes)
[ 0.123163] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 1 (bConfigurationValue=2, 113 bytes)
[ 0.123163] [000029a0] libusb: debug [init_device] (bus: 1, addr: 4, depth: 1, port: 2): '\\.\USB#VID_04E8&PID_6860&MS_COMP_MTP&SAMSUNG_ANDROID#7&12639422&0&0000'
[ 0.124166] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [62]
[ 0.124166] [000029a0] libusb: debug [init_device] found 1 configurations (active conf: 1)
[ 0.126165] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 84 bytes)
[ 0.126165] [000029a0] libusb: debug [init_device] (bus: 1, addr: 3, depth: 1, port: 1): '\\.\USB#VID_046D&PID_C52B&MI_00#7&13A163DB&0&0000'
[ 0.127168] [000029a0] libusb: debug [windows_get_device_list] found existing device for session [4] (2.0)
[ 0.127168] [000029a0] libusb: debug [init_device] got bus number from ancestor #2
[ 0.127168] [000029a0] libusb: debug [init_device] found 1 configurations (active conf: 1)
[ 0.134170] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 25 bytes)
[ 0.134170] [000029a0] libusb: debug [init_device] (bus: 2, addr: 2, depth: 1, port: 1): '\\.\USB#VID_8087&PID_0024#5&294AA54E&0&1'
[ 0.135170] [000029a0] libusb: debug [windows_get_device_list] found existing device for session [6] (1.0)
[ 0.135170] [000029a0] libusb: debug [init_device] got bus number from ancestor #2
[ 0.135170] [000029a0] libusb: debug [init_device] found 1 configurations (active conf: 1)
[ 0.135170] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 25 bytes)
[ 0.135170] [000029a0] libusb: debug [init_device] (bus: 1, addr: 2, depth: 1, port: 1): '\\.\USB#VID_8087&PID_0024#5&3188685F&0&1'
[ 0.137172] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [235]
[ 0.137172] [000029a0] libusb: debug [init_device] found 2 configurations (active conf: 2)
[ 0.137172] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 47 bytes)
[ 0.138172] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 1 (bConfigurationValue=2, 113 bytes)
[ 0.138172] [000029a0] libusb: debug [init_device] (bus: 1, addr: 4, depth: 2, port: 2): '\\.\USB#VID_046D&PID_C52B&MI_01#7&13A163DB&0&0001'
[ 0.139172] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [3CC]
[ 0.139172] [000029a0] libusb: debug [init_device] found 1 configurations (active conf: 1)
[ 0.141175] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 84 bytes)
[ 0.141175] [000029a0] libusb: debug [init_device] (bus: 1, addr: 3, depth: 2, port: 1): '\\.\USB#VID_046D&PID_C52B#6&24B49AB9&0&1'
[ 0.141175] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [A0]
[ 0.141175] [000029a0] libusb: debug [init_device] found 1 configurations (active conf: 1)
[ 0.141175] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 32 bytes)
[ 0.141175] [000029a0] libusb: debug [init_device] (bus: 1, addr: 6, depth: 2, port: 5): '\\.\USB#VID_0781&PID_5571#4C530010431222105184'
[ 0.142176] [000029a0] libusb: debug [windows_get_device_list] found existing device for session [312] (1.0)
[ 0.142176] [000029a0] libusb: debug [init_device] (bus: 1, addr: 1, depth: 0, port: 0): '\\.\USB#ROOT_HUB20#4&41BCCFE&0'
[ 0.142176] [000029a0] libusb: debug [discovered_devs_append] need to increase capacity
[ 0.143177] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [374]
[ 0.143177] [000029a0] libusb: debug [init_device] found 1 configurations (active conf: 1)
[ 0.143177] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 1261 bytes)
[ 0.143177] [000029a0] libusb: debug [init_device] (bus: 2, addr: 3, depth: 2, port: 4): '\\.\USB#VID_2232&PID_1008#6&39136506&0&4'
[ 0.144177] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [2A0]
[ 0.144177] [000029a0] libusb: debug [init_device] found 2 configurations (active conf: 2)
[ 0.145178] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 47 bytes)
[ 0.145178] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 1 (bConfigurationValue=2, 113 bytes)
[ 0.145178] [000029a0] libusb: debug [init_device] (bus: 1, addr: 4, depth: 2, port: 2): '\\.\USB#VID_04E8&PID_6860&MODEM#7&12639422&0&0001'
[ 0.146179] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [2C9]
[ 0.146179] [000029a0] libusb: debug [init_device] found 2 configurations (active conf: 2)
[ 0.147179] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 47 bytes)
[ 0.147179] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 1 (bConfigurationValue=2, 113 bytes)
[ 0.149181] [000029a0] libusb: debug [init_device] (bus: 1, addr: 4, depth: 2, port: 2): '\\.\USB#VID_04E8&PID_6860#310013C8287933F5'
[ 0.150180] [000029a0] libusb: debug [windows_get_device_list] found existing device for session [210] (2.0)
[ 0.150180] [000029a0] libusb: debug [init_device] (bus: 2, addr: 1, depth: 0, port: 0): '\\.\USB#ROOT_HUB20#4&9284A44&0'
[ 0.151180] [000029a0] libusb: debug [windows_get_device_list] allocating new device for session [3F6]
[ 0.151180] [000029a0] libusb: debug [init_device] found 1 configurations (active conf: 1)
[ 0.153684] [000029a0] libusb: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 177 bytes)
[ 0.153684] [000029a0] libusb: debug [init_device] (bus: 1, addr: 5, depth: 2, port: 3): '\\.\USB#VID_8086&PID_0189#6&24B49AB9&0&3'
[ 0.156186] [000029a0] libusb: debug [get_api_type] driver(s): BTHUSB
[ 0.156687] [000029a0] libusb: debug [get_api_type] lower filter driver(s): iBtFltCoex
[ 0.156687] [000029a0] libusb: debug [windows_get_device_list] found existing device for session [3F6] (1.5)
[ 0.158688] [000029a0] libusb: debug [get_api_type] driver(s): dg_ssudbus
[ 0.158688] [000029a0] libusb: debug [windows_get_device_list] found existing device for session [2C9] (1.4)
[ 0.160689] [000029a0] libusb: debug [get_api_type] driver(s): usbccgp
[ 0.161189] [000029a0] libusb: debug [get_api_type] matched driver name against Composite API
[ 0.161189] [000029a0] libusb: debug [windows_get_device_list] found existing device for session [374] (2.3)
[ 0.163191] [000029a0] libusb: debug [get_api_type] driver(s): usbccgp
[ 0.163191] [000029a0] libusb: debug [get_api_type] matched driver name against Composite API
[ 0.163691] [000029a0] libusb: debug [windows_get_device_list] found existing device for session [3CC] (1.3)
[ 0.165192] [000029a0] libusb: debug [get_api_type] driver(s): USBSTOR
[ 0.165692] [000029a0] libusb: debug [windows_get_device_list] found existing device for session [A0] (1.6)
[ 0.166694] [000029a0] libusb: debug [windows_get_device_list] unlisted ancestor for '\\.\HID#SAM0714#3&21E1602B&0&0000' (non USB HID, newly connected, etc.) - ignoring
[ 0.166694] [000029a0] libusb: debug [windows_get_device_list] setting composite interface for [3CC]:
[ 0.166694] [000029a0] libusb: debug [set_composite_interface] interface[2] = \\.\HID#VID_046D&PID_C52B&MI_02&COL01#8&189462C0&0&0000#{4D1E55B2-F16F-11CF-88CB-001111000030}
[ 0.166694] [000029a0] libusb: debug [windows_get_device_list] setting composite interface for [3CC]:
[ 0.166694] [000029a0] libusb: debug [set_composite_interface] interface[2] already set - ignoring HID collection: \\.\HID#VID_046D&PID_C52B&MI_02&COL02#8&189462C0&0&0001
[ 0.166694] [000029a0] libusb: debug [windows_get_device_list] setting composite interface for [3CC]:
[ 0.166694] [000029a0] libusb: debug [set_composite_interface] interface[2] already set - ignoring HID collection: \\.\HID#VID_046D&PID_C52B&MI_02&COL03#8&189462C0&0&0002
[ 0.166694] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.166694] [000029a0] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.166694] [000029a0] libusb: debug [parse_configuration] skipping descriptor 0xb
[ 0.166694] [000029a0] libusb: debug [parse_endpoint] skipping descriptor 25
[ 0.166694] [000029a0] libusb: debug [libusb_unref_device] destroy device 2.3
[ 0.166694] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.166694] [000029a0] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.166694] [000029a0] libusb: debug [parse_endpoint] skipping descriptor 24
[ 0.166694] [000029a0] libusb: debug [libusb_get_config_descriptor] index 1
[ 0.166694] [000029a0] libusb: debug [parse_endpoint] skipping descriptor 24
[ 0.166694] [000029a0] libusb: debug [parse_endpoint] skipping descriptor b
[ 0.166694] [000029a0] libusb: debug [libusb_open] open 1.4
[ 0.166694] [000029a0] libusb: debug [unsupported_open] unsupported API call for 'open' (unrecognized device driver)
[ 0.166694] [000029a0] libusb: debug [libusb_open] open 1.4 returns -12
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 1.4
[ 0.171199] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 1.3
[ 0.171199] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.171199] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.171199] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.171199] [000029a0] libusb: debug [parse_endpoint] skipping descriptor 24
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 1
[ 0.171199] [000029a0] libusb: debug [parse_endpoint] skipping descriptor 24
[ 0.171199] [000029a0] libusb: debug [parse_endpoint] skipping descriptor b
[ 0.171199] [000029a0] libusb: debug [libusb_open] open 1.4
[ 0.171199] [000029a0] libusb: debug [unsupported_open] unsupported API call for 'open' (unrecognized device driver)
[ 0.171199] [000029a0] libusb: debug [libusb_open] open 1.4 returns -12
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 1.4
[ 0.171199] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 1.3
[ 0.171199] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 1.6
[ 0.171199] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.171199] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.171199] [000029a0] libusb: debug [parse_configuration] skipping descriptor 0xb
[ 0.171199] [000029a0] libusb: debug [parse_endpoint] skipping descriptor 25
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 2.3
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 2.2
[ 0.171199] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.171199] [000029a0] libusb: debug [parse_endpoint] skipping descriptor 24
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 1
[ 0.171199] [000029a0] libusb: debug [parse_endpoint] skipping descriptor 24
[ 0.171199] [000029a0] libusb: debug [parse_endpoint] skipping descriptor b
[ 0.171199] [000029a0] libusb: debug [libusb_open] open 1.4
[ 0.171199] [000029a0] libusb: debug [unsupported_open] unsupported API call for 'open' (unrecognized device driver)
[ 0.171199] [000029a0] libusb: debug [libusb_open] open 1.4 returns -12
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 1.4
[ 0.171199] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.171199] [000029a0] libusb: debug [parse_endpoint] skipping descriptor 24
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 1
[ 0.171199] [000029a0] libusb: debug [parse_endpoint] skipping descriptor 24
[ 0.171199] [000029a0] libusb: debug [parse_endpoint] skipping descriptor b
[ 0.171199] [000029a0] libusb: debug [libusb_open] open 1.4
[ 0.171199] [000029a0] libusb: debug [unsupported_open] unsupported API call for 'open' (unrecognized device driver)
[ 0.171199] [000029a0] libusb: debug [libusb_open] open 1.4 returns -12
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 1.4
[ 0.171199] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 2.1
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 2.0
[ 0.171199] [000029a0] libusb: debug [libusb_get_device_descriptor]
[ 0.171199] [000029a0] libusb: debug [libusb_get_config_descriptor] index 0
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 1.5
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 1.2
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 1.1
[ 0.171199] [000029a0] libusb: debug [libusb_unref_device] destroy device 1.0
[ 0.215231] [00003c9c] libusb: debug [handle_events] poll() returned 0
[ 0.215231] [00003c9c] libusb: debug [libusb_exit]
[ 0.215231] [00003c9c] libusb: debug [libusb_exit] destroying default context
from gousb.
These logs and the errors from C libusb definitely point to lack of the drivers. The only APIs reported in this log is the HUB API and the Composite API, while based on the code I'd expect to see an entry with "WinUSB-like APIs", which would match either libusbK, libusb0 or WinUSB drivers. I think the difference between -5 (not found) and -12 (not supported) in gousb may be safely ignored for now, just get the C libusb to open your device successfuly.
Please follow the instructions in https://github.com/libusb/libusb/wiki/Windows#how-to-use-libusb-on-windows to install the required drivers.
from gousb.
Thank for your kind answer! I tried many of drivers but neither one was suitable perfectly for my phone. Maybe I have to use Windows SDK.
from gousb.
Note: these drivers are not "phone drivers" in any case. They are drivers that allow libusb raw access to the USB devices (generic USB, not any particular type of the USB device). That means installing e.g. libsubK (http://libusbk.sourceforge.net/UsbK3/index.html).
from gousb.
Related Issues (20)
- Clear installation of Gosub on the Windows 10 - using msys64 HOT 3
- Latest package not picked up by go get HOT 9
- I can't open hp printer device with gousb HOT 5
- why connect printer return code -5? HOT 1
- Linux: How to get block devices list provided by usb stick? HOT 1
- incorrect device class HOT 2
- WinUSB drivers HOT 3
- libusb: bad access [code -3] HOT 8
- Windows: go build github.com/google/gousb: C:\Program Files\Go\pkg\tool\windows_amd64\cgo.exe: exit status 2 HOT 1
- Can't detach kernel driver. Invalid param [code -2] for iOS 16 devices HOT 5
- How to use in a Docker container without --privileged HOT 1
- CDC device HOT 5
- A lot of interrupted errors on MacOSX: handle_events: error: libusb: interrupted [code -10] HOT 8
- Failed to claim interface 0 HOT 1
- Errors on install; macos HOT 3
- Error when WriteContext is called HOT 10
- Device detach: libusb: error [darwin_claim_interface] USBInterfaceOpen: another process has device opened for exclusive access HOT 3
- Memory Leak in CGO part HOT 1
- Memory Leak HOT 4
- Android Support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gousb.