habe hier eine Platine mit einem At90can und einem USB chip von embedded-projekts.net (octopus). Für XP existieren treiber die auf der libusb-win32 bibliothek basieren.Ich denke mal, diese sind nicht unter win7 verwendbar. Wie aufwendig ist es, solch einen treiber zu schreiben?
Erheblich. Unter Windows 7 werden die XP-Treiber nur dann nicht verwendbar sein, wenn das Windows 7 eine 64-Bit-Version ist, aber Du könntest ja mal nachforschen, ob es bereits eine 64-Bit-Portierung von libusb für Windows gibt.
Wenn Dein USB-Device eine Standard-USB Geräteklasse implementiert (z.B. HID, CDC oder Mass Storage), dann brauchst Du keinen Windows Kerneltreiber, weil Windows das alles schon mitbringt. Beispiele dafür gibts bei Atmel. Maximal kann es Dir passieren, daß Du ein .inf-File schreiben mußt (bei CDC), aber das geht auch mit notepad.exe fchk
libusb gibt es auch für Win7 64bit - aber der Treiber ist nicht digital signiert, da muss man dann tricksen.
ja benutze ein 64 bit OS. es gibt tatsächlich einen 64 bit fix für die libusb. werde das mal testen. die inf datei müsste eben angepasst werden. da stellt sich die frage wie trivial das ganze ist. evtl hat ja jemand ahnung und kann was dazu sagen:
1 | [Version] |
2 | Signature = "$Chicago$" |
3 | provider = %manufacturer% |
4 | DriverVer = 03/09/2005,0.1.10.1 |
5 | CatalogFile = octopus.cat |
6 | |
7 | Class = LibUsbDevices |
8 | ClassGUID = {EB781AAF-9C70-4523-A5DF-642A87ECA567} |
9 | |
10 | [ClassInstall] |
11 | AddReg=ClassInstall.AddReg |
12 | |
13 | [ClassInstall32] |
14 | AddReg=ClassInstall.AddReg |
15 | |
16 | [ClassInstall.AddReg] |
17 | HKR,,,,"LibUSB-Win32 Devices" |
18 | HKR,,Icon,,"-20" |
19 | |
20 | [Manufacturer] |
21 | %manufacturer%=Devices |
22 | |
23 | ;-------------------------------------------------------------------------- |
24 | ; Files |
25 | ;-------------------------------------------------------------------------- |
26 | |
27 | [SourceDisksNames] |
28 | 1 = "Libusb-Win32 Driver Installation Disk",, |
29 | |
30 | [SourceDisksFiles] |
31 | libusb0.sys = 1,, |
32 | libusb0.dll = 1,, |
33 | |
34 | [DestinationDirs] |
35 | LIBUSB.Files.Sys = 10,System32\Drivers |
36 | LIBUSB.Files.Dll = 10,System32 |
37 | |
38 | [LIBUSB.Files.Sys] |
39 | libusb0.sys |
40 | |
41 | [LIBUSB.Files.Dll] |
42 | libusb0.dll |
43 | |
44 | ;-------------------------------------------------------------------------- |
45 | ; Device driver |
46 | ;-------------------------------------------------------------------------- |
47 | |
48 | [LIBUSB_DEV] |
49 | CopyFiles = LIBUSB.Files.Sys, LIBUSB.Files.Dll |
50 | AddReg = LIBUSB_DEV.AddReg |
51 | |
52 | [LIBUSB_DEV.NT] |
53 | CopyFiles = LIBUSB.Files.Sys, LIBUSB.Files.Dll |
54 | |
55 | [LIBUSB_DEV.HW] |
56 | DelReg = LIBUSB_DEV.DelReg.HW |
57 | |
58 | [LIBUSB_DEV.NT.HW] |
59 | DelReg = LIBUSB_DEV.DelReg.HW |
60 | |
61 | [LIBUSB_DEV.NT.Services] |
62 | AddService = libusb0, 0x00000002, LIBUSB.AddService |
63 | |
64 | [LIBUSB_DEV.AddReg] |
65 | HKR,,DevLoader,,*ntkern |
66 | HKR,,NTMPDriver,,libusb0.sys |
67 | |
68 | [LIBUSB_DEV.DelReg.HW] |
69 | HKR,,"LowerFilters" |
70 | |
71 | ;-------------------------------------------------------------------------- |
72 | ; Services |
73 | ;-------------------------------------------------------------------------- |
74 | |
75 | [LIBUSB.AddService] |
76 | DisplayName = "LibUsb-Win32 - Kernel Driver 03/09/2005, 0.1.10.1" |
77 | ServiceType = 1 |
78 | StartType = 3 |
79 | ErrorControl = 0 |
80 | ServiceBinary = %12%\libusb0.sys |
81 | |
82 | ;-------------------------------------------------------------------------- |
83 | ; Devices |
84 | ;-------------------------------------------------------------------------- |
85 | |
86 | [Devices] |
87 | "OctopusUSB Interface Converter and I/O Extension"=LIBUSB_DEV, USB\VID_1781&PID_0c65 |
88 | |
89 | [Strings] |
90 | manufacturer = "Embedded Projects" |
so, es hat tatsächlich geklappt mit dem 64 bit fix für WIN7. das ganze nennt sich LIBUSB64Fix. gruß
bei mir hat der fix nur alle USB-ports gekillt. nichts neues wurde erkannt und altes wurde nach neustart auch nicht mehr erkannt. einzige lösung: ps2maus und systemwiederherstellung. oder hab ich was falsch gemacht? hab 3) nicht gemacht.wäre das wichtig gewesen?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.