Pages: [1] 2 3   Go Down
Author Topic: [SOLVED] Leonardo (USB Keyboard): VendorID ProductID /Name ändern  (Read 3399 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 51
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich möchte gerne, dass sich das USB Keyboard nicht als "Arduino Keyboard" am Computer meldet, sondern mit irgendeinem anderen Namen.

Dazu müsste ich wohl den Bootloader oder Firmware updaten (unter OSX).

Kann mir jemand erklären wie ich das mache?
« Last Edit: January 23, 2013, 04:48:33 am by DreiMalNull » Logged

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die entsprechenden Code-Dateien finden sich unter hardware/arduino/cores/arduino/. Die Beschreibungsstrings, die an den Computer geliefert werden sind z.B. in USBCore.cpp. Dort ändern, Sketch neu kompilieren, Uploaden.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 51
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke!  smiley

Aber die Vendor-ID und Product-ID lässt sich offensichtlich nicht ändern oder? Nur der Name.

Wahrscheinlich geht das nur mit einem neuen Bootloader... wie funktioniert das unter OSX (10.8.2) ?

Hat das jemand schon mal gemacht?


Vielleicht wäre ja jemand so nett und würde mir für mein Leonardo Board (R3) ein ".hex"-File backen, mit VID=0x046a und PID 0x0011

Dan müsste ich es nur noch mit AVR hochladen (wie würde man das auf dem Mac machen?).


Sorry für die Bitte und Fragen, aber ich habe von make garkeine Ahnung smiley-wink
« Last Edit: January 19, 2013, 03:58:34 am by DreiMalNull » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 263
Posts: 21590
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wieso willst Du die ändern?
Anhand der VendorID erkennt der PC die Hardware und nimmt den entsprechenden Treiber/Initialisation.
Anhand der Product-ID erkennt der PC welcher Arduio dranhängt und benutzt dementsprechend einen anderen COM-Port.

Grüße Uwe
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 51
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich werkle an einem Keyboard-Projekt rum... und da brauche ich das das System das angeschlossene USB Device als Keyboard erkennt, und nicht als Dev Platine smiley-wink

Hier ist auch beschrieben wie man das macht:
http://forum.freetronics.com/viewtopic.php?f=27&t=663

"Btw - "make all" works, but if you haven't uncommented the PID/VID in the Makefile then make sure you do "make all VID=0x20A0 PID=0x0151"

Doch kann ich das nicht einfach so bauen (make), weil ich dazu auf dem Mac wohl ein Haufen Libraries installieren muss... und ich keinen Plan habe.


Deshalb wärs nett, wenn sowieso jemand das alles schon eingerichtet hat, einfach mal "make all VID=0x046a PID=0x0011" für das Leonardo Board ausführt und mir kurz erklärt wie ich das dann mit AVR in mein Leonardo transportiere ;-)
« Last Edit: January 19, 2013, 09:16:06 pm by DreiMalNull » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 263
Posts: 21590
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wenn Du die Keyboard Bibliothek benutzt brauchst Du das nicht.
Grüße Uwe
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 51
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich benutze die Keyboard Library. Das ist nicht das Problem smiley

Ich brauche nur eine andere Device-Identifizierung. Eben mit VID=0x046a und PID 0x0011

Hat denn niemand die make librarys auf seinem Rechner installiert, der mir das mal kurz "backen" kann?
« Last Edit: January 20, 2013, 08:58:13 am by DreiMalNull » Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 51
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Schade das hier keiner seinen Bootloader für's Leonardo selbst compiliert, dann muss ich wohl Vorreiter spielen und mal schauen was ich erreichen kann smiley
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 51
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So, ich habe es probiert... zuerst mit libusb auf dem Mac, aber da kommen irgendwelche Fehler die ich nicht verstehe.

Werde das mal im Internationalen Forum Posten, vielleicht kann mir da einer helfen.
Logged

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Um den Bootloader zu kompilieren, musst Du die LUFA-Bibliothek installieren und im Makefile einbinden:

Code:
LUFA_PATH = ../../../../../../LUFA/LUFA-111009

Die Lib gibt's hier: http://www.lufa-lib.org
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 51
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Das habe ich vor einer Stunde auch gefunden smiley

Das reicht aber bei weitem nicht... musste mich erstmal Stunden durch etliche Webseiten ackern, doch das hat auch alles nichts gebracht.

Erst als ich die Homebrew Seite gefunden hatte... dann war alles ganz einfach. Musste dann noch ca. 5 Sachen installieren, bis es halbwegs funktionierte (Mountain Lion ist bescheiden schön).


Gut, das .hex File habe ich nun... was mich nur stutzig macht, es sind nur 12 KB (das Caterina-Leonardo.hex ist 78 KB gross). Vielleicht fehlt die USB library?

Und ausserdem, wie kommt das .hex ins Leo ?  ;-)


Uh, schon wieder 00:40 Uhr. Das hasse ich so an Computer... sie helfen Dir nicht, die rauben Dir die Zeit und den Schlaf = Tod. Ich geh schlafen.
« Last Edit: January 21, 2013, 07:07:24 pm by DreiMalNull » Logged

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Das HEX-File ist etwas aufgebläht, aus den 78kB werden im Binary-Format "nur" noch 32kB. Die bestehen zur Hauptsache aus 0xFF-Bytes, nur am Anfang und am Ende sind einige kB wirkliche Daten (bzw. Code) enthalten. Deine ca. 6kB kommen somit einigermassen hin, wenn alles am Stück ist. Wieso die beiden Blöcke im Original-Bootloader am Anfang und am Ende aufgesplittet sind, entzieht sich leider meiner Kenntnis. Meine Vermutung wäre, dass der Teil am Anfang der eigentliche Bootloader-Code ist, während der Teil am Ende überschrieben werden kann (und bei entsprechend grossen Sketches auch wird). Was dort allerdings drin enthalten sein soll, entzieht sich meiner Kenntnis.
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 263
Posts: 21590
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@pylon
Könnte nicht ein Teil der Bootloader sein und der andere der Standart-Blink-Demo-Test-Sketch mit dem der Arduino ausgeliefert wird?
Grüße Uwe
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 51
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

das könnte sein... könnte aber auch sein... ich brenne das .hex und der Leonardo ist im Nirvana smiley
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 51
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, also um das zu erreichen was ich vor 4 Tagen wollte (4 Tage habe ich an diesem Mist gesessen^^) ist das hier alles durchzuführen (auf Mac OSX Mountain Lion 10.8.2 clean install):

1. XCODE über AppStore installieren
2. XCode.app starten und akzeptieren
3. sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
4. ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
5. brew install avrdude --with-usb
6. brew tap larsimmisch/avr
7. brew install avr-libc
8. Ordner "Bootloader-Leonardo" irgendwo anlegen und dort einen Ordner "Source" und "LUFA" erstellen
9. In den "LUVA" Ordner das neuste LUFA reinpacken
10. In den Source Ordner kopieren alles was hier drin ist /Applications/Arduino.app/Contents/Resources/Java/hardware/
11. In den Ordner wechseln: "Bootloader-Leonardo/Source/arduino/bootloaders/caterina"
12. make clean
13. make all VID=0x046a PID=0x0011
14. Beim compilieren erscheint evtl. ein Fehler das LUFA betrifft, dann stimmt der Pfad im makefile ../../../../../../LUFA nicht, und muss auf ../../../../LUFA geändert werden
15. copy Caterina.hex Caterina-Leonardo_usb_fix.hex

Das .hex File hat dann 11 KB.

Das wars.


So, immer noch mit Fragezeichen:

- Wie bekomme ich das .hex in den Leonardo?

Ich würds ja einfach mit meiner Arduino-IDE (Processing like) machen, aber wenn ich im Menü: "Tools-> Bootloader installieren" drücke kommt das:

"avrdude: usbdev_open(): did not find any USB device "usb"


Ich denke mal davon hat auch keiner eine Ahnung? smiley


Ich denke ich muss avrdude per hand starten und die ganzen Parameter angeben... jemand der das schon mal gemacht hat?
« Last Edit: January 22, 2013, 06:54:12 am by DreiMalNull » Logged

Pages: [1] 2 3   Go Up
Jump to: