Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Quote:
Originally Posted by hostar
Don't give up yet.
The usb_find_devices() should return devices with libusb driver, so problem might be there.
As you wrote, you cannot see "devices count: 1", which should appear.
In this phase of program, everything is in libusb0.dll "hands"
Did you try to make drivers for K4 and Touch separately? One driver for each?
Also this driver you have to generate when Kindle is in fastboot.
I have updated usb_windows.h , there was some fragments of code, which is no longer needed. For example adb_api.h is not needed and everything what has something in common with Adb library either is not needed.
Unfortunately I can't test the Touch, because I have not one and even don't know anyone who has it.
|
It works, but only AFTER I installed the libusb-win32 driver for it (using my custom .INF file), like I had already done for the K4. I have both of them plugged in and in fastboot mode, and I can select which one to talk to with "fastboot -s" and the serial number shown in Device Manager.
Screenshot showing Device Manager with my K4 and Touch in fastboot mode, with serial numbers partially blacked-out:
And here is my custom Kindle-Fastboot.inf that file I used to install them:
PHP Code:
; Kindle-Fastboot.inf ; Copyright (c) 2010 libusb-win32 (GNU LGPL) [Strings] DeviceName = "Kindle-Fastboot" VendorName = "Amazon-Lab126" SourceName = "Kindle-Fastboot Install Disk" DeviceID = "VID_1949&PID_D0D0" DeviceGUID = "{6E68684D-89D9-4E94-BA70-6DE08A1AA7E0}"
[Version] Signature = "$Windows NT$" Class = "libusb-win32 devices" ClassGuid = {EB781AAF-9C70-4523-A5DF-642A87ECA567} Provider = "libusb-win32" CatalogFile = Kindle-Fastboot.cat DriverVer = 01/17/2012, 1.2.6.0
[ClassInstall32] Addreg = libusb_class_install_add_reg
[libusb_class_install_add_reg] HKR,,,0,"libusb-win32 devices" HKR,,Icon,,-20
[Manufacturer] %VendorName% = Devices, NT, NTAMD64, NTIA64
;-------------------------------------------------------------------------- ; libusb-win32 files ;--------------------------------------------------------------------------
[SourceDisksNames] 1 = %SourceName%
[SourceDisksFiles.x86] libusb0.sys = 1,x86 libusb0_x86.dll = 1,x86
[SourceDisksFiles.amd64] libusb0.sys = 1,amd64 libusb0.dll = 1,amd64 libusb0_x86.dll = 1,x86
[SourceDisksFiles.ia64] libusb0.sys = 1,ia64 libusb0.dll = 1,ia64 libusb0_x86.dll = 1,x86
[DestinationDirs] libusb_files_sys = 10,system32\drivers libusb_files_dll = 10,system32 libusb_files_dll_wow64 = 10,syswow64 libusb_files_dll_x86 = 10,system32
[libusb_files_sys] libusb0.sys
[libusb_files_dll] libusb0.dll
[libusb_files_dll_x86] libusb0.dll, libusb0_x86.dll
[libusb_files_dll_wow64] libusb0.dll, libusb0_x86.dll
;-------------------------------------------------------------------------- ; libusb-win32 device driver ;--------------------------------------------------------------------------
[LIBUSB_WIN32_DEV.NT] CopyFiles = libusb_files_sys, libusb_files_dll_x86
[LIBUSB_WIN32_DEV.NTAMD64] CopyFiles = libusb_files_sys, libusb_files_dll, libusb_files_dll_wow64
[LIBUSB_WIN32_DEV.NTIA64] CopyFiles = libusb_files_sys, libusb_files_dll, libusb_files_dll_wow64
[LIBUSB_WIN32_DEV.NT.HW] DelReg = libusb_del_reg_hw AddReg = libusb_add_reg_hw
[LIBUSB_WIN32_DEV.NTAMD64.HW] DelReg = libusb_del_reg_hw AddReg = libusb_add_reg_hw
[LIBUSB_WIN32_DEV.NTIA64.HW] DelReg = libusb_del_reg_hw AddReg = libusb_add_reg_hw
[LIBUSB_WIN32_DEV.NT.Services] AddService = libusb0, 0x00000002, libusb_add_service
[LIBUSB_WIN32_DEV.NTAMD64.Services] AddService = libusb0, 0x00000002, libusb_add_service
[LIBUSB_WIN32_DEV.NTIA64.Services] AddService = libusb0, 0x00000002, libusb_add_service
; Older versions of this .inf file installed filter drivers. They are not ; needed any more and must be removed [libusb_del_reg_hw] HKR,,LowerFilters HKR,,UpperFilters
; libusb-win32 device properties [libusb_add_reg_hw] HKR,,SurpriseRemovalOK,0x00010001,1
; (Optional) the usb configuration value to select when this device ; is started. If this key does not exist the first config is selected. ;HKR,,InitialConfigValue,0x00010001,<your config value>
;-------------------------------------------------------------------------- ; libusb-win32 service ;--------------------------------------------------------------------------
[libusb_add_service] DisplayName = "libusb-win32 - Kernel Driver 01/17/2012 1.2.6.0" ServiceType = 1 StartType = 3 ErrorControl = 0 ServiceBinary = %12%\libusb0.sys
;-------------------------------------------------------------------------- ; libusb-win32 devices ;--------------------------------------------------------------------------
; Hardware IDs in a 'Devices' section can be installed by libusb-win32 ; using usb_install_driver_np(), usb_install_driver_np_rundll(), or the ; inf-wizard utility. ; [Devices] %DeviceName% = LIBUSB_WIN32_DEV, USB\%DeviceID%
[Devices.NT] %DeviceName% = LIBUSB_WIN32_DEV.NT, USB\%DeviceID%
[Devices.NTAMD64] %DeviceName% = LIBUSB_WIN32_DEV.NTAMD64, USB\%DeviceID%
[Devices.NTIA64] %DeviceName% = LIBUSB_WIN32_DEV.NTIA64, USB\%DeviceID%
EDIT: This custom "Kindle-Fastboot.inf" file was created with "inf-wizard.exe" (part of "libusb-win32-bin-1.2.6.0"), after I put the VID/PID and "Kindle-Fastboot" in the form and clicked the button. You can do that too, or just copy/paste the text from above. When you install the kindle fastboot device, be sure to select "Install Manually" and select "Kindle-Fastboot" from the list of compatible devices.
When in fastboot mode, the "serial number" reported in Device Manager (and used by the "fastboot -s" option) is actually the "pcbsn" idme var, not the "normal" kindle serial number reported in the main settings menu. I hope you can figure it out from here...
@hostar: Thanks much. Now we need to get this into a simple step-by-step wiki page that includes the information provided above.
Last edited by geekmaster; 03-12-2012 at 04:54 PM.
|