ricevitore usb per telecomando (ex:infrahid)

Hardware esterno.
Panelli LCD, TFT, HDTV, Telecomandi, Xbox-client, etc.

Moderatori: ragno, tapino, alez, zulu, davidea

Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da alez »

Von Fritz riesci a pubblicare i sorgenti dello schema?
Ciao alez
davidea
Messaggi: 1279
Iscritto il: 16 ago 2009, 13:32
Località: Palermo
Contatta:

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da davidea »

inserito dokuwiki , programmatore e bootloader, si accettamo correzioni di bozza!

http://wiki.vdr-italia.org/doku.php?id= ... are_atmega
Avatar utente
von fritz
Messaggi: 1479
Iscritto il: 18 gen 2007, 23:33

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da von fritz »

Hello
alez ha scritto:Von Fritz riesci a pubblicare i sorgenti dello schema?
Sorry, visto adesso.
usb_IR.sch.gz
schema da aprire con Gschem - gEDA
(1.57 KiB) Scaricato 75 volte
se serve altro, fa sapere.

bye
VDRBOX-HD : in pensione!
ALTRO : freerunner (openmoko) ; nokia n900 ; 2 seagate dockstar, samsung ps64d8000, diversi dispositivi ARM (Allwinner, Amlogic) ;)
Don't feed the trolls non alimentate sistemi proprietari ;)

Linux rulez! :)
Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da alez »

@Davidea

Ok ora appena riesco faccio la parte di programmazione usando come programmatore Arduino 2009 + FTDI + avrdude patchato

@VonFritz

Grazie, ora si può inserire sul wiki lo schema, lo stampato e l'elenco componenti... sto cercando anche il modo di fare con gplEDA quello che si riesce a fare con Eagle3D:

Immagine
Ciao alez
davidea
Messaggi: 1279
Iscritto il: 16 ago 2009, 13:32
Località: Palermo
Contatta:

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da davidea »

ragno ha scritto:Aggiornamento bootloader: FUNZIONA!!!

Bisogna flashare l'atmel con il bootloader compilato per il vostro atmel. Il pacchetto e' quello gia segnalato: http://www.obdev.at/products/vusb/bootloadhid.html
Problemi di build non ce ne sono. Basta installare gcc-avr...
Questo riporta il kernel una volta pluggato il ricevitore "vergine"..(N.B. se il device usb, non viene riconosciuto, probabilmente avete dimenticato di mettere a gnd il pin 5 dell'atmel)

Codice: Seleziona tutto

[24665.748687] usb 2-1: new full speed USB device using uhci_hcd and address 71
[24665.945203] generic-usb 0003:16C0:05DF.0032: hiddev0,hidraw0: USB HID v1.01 Device [obdev.at HIDBoot] on usb-0000:02:00.0-1/input0

saluti
ragno

p.s. non ho provato l'accensione elettronica, per il momento vado ancora a manovella... :)

NON FUNZIONA!!!!! :cry:

Codice: Seleziona tutto

[ 9502.048365] usb 2-2.1: new low speed USB device number 21 using ehci_hcd
[ 9502.120354] usb 2-2.1: device descriptor read/64, error -32
[ 9502.296351] usb 2-2.1: device descriptor read/64, error -32
[ 9502.472355] usb 2-2.1: new low speed USB device number 22 using ehci_hcd
[ 9502.544346] usb 2-2.1: device descriptor read/64, error -32
[ 9502.720351] usb 2-2.1: device descriptor read/64, error -32
[ 9502.896366] usb 2-2.1: new low speed USB device number 23 using ehci_hcd
[ 9503.304019] usb 2-2.1: device not accepting address 23, error -32
[ 9503.376347] usb 2-2.1: new low speed USB device number 24 using ehci_hcd
[ 9503.784031] usb 2-2.1: device not accepting address 24, error -32
[ 9503.784109] hub 2-2:1.0: unable to enumerate USB device on port 1
credo che mi manchi qualcosa di base..... qualcuno mi parla dei fuse? che sono e come usarli?
il ponticello serve piu' o no?

intanto ho splittato la pagina del wiki in
http://wiki.vdr-italia.org/doku.php?id=bootloader
http://wiki.vdr-italia.org/doku.php?id= ... are_atmega

per chi e' piu' pratico di me, mi dite se ho scritto c...te??

pps. ho visto che esiste un' altro bootloader che simula USBASP , perche' non usiamo quello? (non foglio un flame, ma una semplice motivazione)
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da ragno »

1) I fuse certo che devi impostarli...altrimenti come fa a funzionare?
Li "bruci" sempre con avrdude in maniera analoga a come flashi il firmware....
2) Il ponticello serve altrimenti non parte il bootloader.
3) devi utilizzare il bootloader V-BUS generico e non quello allegato col firmware usb_irr.

ciao

p.s. se hai problemi puoi sempre flashare il firmware e non il bootloader....in questo caso il ricevitore funziona, ma per aggiornalrlo devi sempre utilizzare avrdude con un programmatore ISP.
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
davidea
Messaggi: 1279
Iscritto il: 16 ago 2009, 13:32
Località: Palermo
Contatta:

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da davidea »

ragno ha scritto:1) I fuse certo che devi impostarli...altrimenti come fa a funzionare?
Li "bruci" sempre con avrdude in maniera analoga a come flashi il firmware....
link, esempio????
ragno ha scritto: 2) Il ponticello serve altrimenti non parte il bootloader.
3) devi utilizzare il bootloader V-BUS generico e non quello allegato col firmware usb_irr.

ciao

p.s. se hai problemi puoi sempre flashare il firmware e non il bootloader....in questo caso il ricevitore funziona, ma per aggiornalrlo devi sempre utilizzare avrdude con un programmatore ISP.
se quindi il bootloader lo devo scaricare dal sito del bootloader, se invece flasho direttamente il firmware, debbo ugualmente settare i fuse, giusto?
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da ragno »

Fuse solo firmware per 168 (da un messaggio di von fritz):
low = FF, High = DA, EXT = F8

Fuse per bootloaderHID (dovrebbe essere uguale 8-168-328):
high = 0xc0
low = 0x9f

Per il set dei fuses dai un'occhiata alla documentazione di avrdude.
In ogni caso il calcolatore online dei fuses http://www.engbedded.com/fusecalc/
riporta i parametri da passare ad avrdude per settare i fuses.

ciao
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
davidea
Messaggi: 1279
Iscritto il: 16 ago 2009, 13:32
Località: Palermo
Contatta:

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da davidea »

grazie ragno!

avrdude -c usbasp -p m168 -U lfuse:w:0x9f:m -U hfuse:w:0xc0:m

, visto che mi hai dato solo i fuses high e low ho pensato di non dare quelli extended

il risultato e' :

Codice: Seleziona tutto

[ 1933.256961] usb 2-2.1: new low speed USB device number 5 using ehci_hcd
[ 1933.363371] generic-usb 0003:16C0:05DF.0003: hiddev0,hidraw2: USB HID v1.01 Device [obdev.at HIDBoot] on usb-0000:00:04.1-2.1/input0
[
quindi ho messo il ponticello , lanciato l' eseguibile del bootloader

./bootloadHID ~/usb_ir_rr/USB_IR_RR/USB-IR-Remote-Receiver-v1.7/HEX_Atmega168p/USB_IR_Remote_Receiver.hex

Codice: Seleziona tutto

[ 2134.970055] usb 2-2.1: usbfs: interface 0 claimed by usbhid while 'bootloadHID' sets config #1
[
si e' preso il codice , ed il risultato e' :

Codice: Seleziona tutto

[ 2157.612520] usb 2-2.1: new low speed USB device number 7 using ehci_hcd
[ 2157.783909] generic-usb 0003:16C0:05DF.0005: hiddev0,hidraw2: USB HID v1.01 Device [www.dvbviewer.info USB IR Remote Receiver] on usb-0000:00:04.1-2.1/input0
quindi un paio di dubbi:

il bootloader utilizzato ' quello a corredo del progetto, perce' dicevi di non usarlo?

ma il risultato sul dmesg non doveva dare vdr-italia.org ? che mi son perso?

perche' allora i fuses pure per il firmware? nei pic, indicavano come configurare le periferiche e l' oscillatore, anche qui' credo dovrebbero indicare la stessa cosa....
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da ragno »

Intanto benvenuto nel gruppo dei usb_irr :lol: :lol: :lol:

Per il bootloader, a suo tempo provai quello allegato a usb_irr ma per mia imperizia e/o problemi (di fuses?) non sono riuscito a farlo funzionare. Stranamente provando il bootloaderHID originale funzionava tutto alla prima botta.
Tieni presente comunque che usando l'originale hai la certezza degli aggiornamenti e se in fase di progetto hardware predisponi il ponticello sei a posto.
L'unica cosa e' che devi "operare" sul ponticello per aggiornare il firmware.

Riguardo il firmware, forse devi cambiare la stringa del "vendor name" in usbconfig.h, probabilmente hai una delle prime versioni dell'archivio tar.bz2: a suo tempo non mi sono permesso di farlo perche' ancora tutto era a livello sperimentale. Pero' puoi farlo a "manina"... :mrgreen:

Ricorda per ovviare a problemi di riconoscimento dei treni d'impulso, di attivare solo i protocoli IR standerd e relativi al tuo telecomando. Meno sono e meglio funziona.

I fuses devono essere impostati in base al comportamento della mcu e quindi del tipo di hex che flashi...dal calcolatore online impostando i valori manualmente, puoi vedere quali differenze ci sono fra l'impostazione per bootloader+firmware e l'impostazione per il solo firmware...

saluti
ragno
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
davidea
Messaggi: 1279
Iscritto il: 16 ago 2009, 13:32
Località: Palermo
Contatta:

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da davidea »

ragno ha scritto:Intanto benvenuto nel gruppo dei usb_irr :lol: :lol: :lol:

Per il bootloader, a suo tempo provai quello allegato a usb_irr ma per mia imperizia e/o problemi (di fuses?) non sono riuscito a farlo funzionare. Stranamente provando il bootloaderHID originale funzionava tutto alla prima botta.
Tieni presente comunque che usando l'originale hai la certezza degli aggiornamenti e se in fase di progetto hardware predisponi il ponticello sei a posto.
L'unica cosa e' che devi "operare" sul ponticello per aggiornare il firmware.
ok, lascio allora il mio bootloader, visto che funziona.
ragno ha scritto: Riguardo il firmware, forse devi cambiare la stringa del "vendor name" in usbconfig.h, probabilmente hai una delle prime versioni dell'archivio tar.bz2: a suo tempo non mi sono permesso di farlo perche' ancora tutto era a livello sperimentale. Pero' puoi farlo a "manina"... :mrgreen:
per me non cambia niente, semplicemnete siccome mi sembra di aver scaricato il file dal link che ho messo al wiki..... devo controllare appena ho tempo!

ragno ha scritto:
Ricorda per ovviare a problemi di riconoscimento dei treni d'impulso, di attivare solo i protocoli IR standerd e relativi al tuo telecomando. Meno sono e meglio funziona.
e come faccio a riconoscere il mio telecomando quale usa? sicuramente ho la risposta sotto gli occhi e non me ne rendo conto! :-(
ragno ha scritto:
I fuses devono essere impostati in base al comportamento della mcu e quindi del tipo di hex che flashi...dal calcolatore online impostando i valori manualmente, puoi vedere quali differenze ci sono fra l'impostazione per bootloader+firmware e l'impostazione per il solo firmware...

saluti
ragno
ok, lo metto nella lista dei TO DO!


oggi invece siccome ho dei continui freeze, ho visto un po' il syslog , ed ecco una sorpresa!!! , chi lo usa, potrebbe verificare? (e' il ricevitore infrarosso)

Codice: Seleziona tutto

sudo cat /var/log/syslog |grep disconnect
Mar  7 10:46:59 yavdr40 kernel: [51708.219076] usb 3-5: USB disconnect, address 24
Mar  7 13:33:48 yavdr40 kernel: [61717.320110] usb 3-5: USB disconnect, address 25
Mar  7 13:33:52 yavdr40 kernel: [61720.749363] usb 3-5: USB disconnect, address 26
Mar  7 13:33:58 yavdr40 kernel: [61727.199237] usb 3-5: USB disconnect, address 27
Mar  7 14:11:44 yavdr40 kernel: [63993.451512] usb 3-5: USB disconnect, address 28
Mar  7 14:11:58 yavdr40 kernel: [64006.835326] usb 3-5: USB disconnect, address 29
Mar  7 14:44:29 yavdr40 kernel: [65958.616800] usb 3-5: USB disconnect, address 30
Mar  7 14:44:38 yavdr40 kernel: [65966.694644] usb 3-5: USB disconnect, address 31
Mar  7 15:05:13 yavdr40 kernel: [67202.187253] usb 3-5: USB disconnect, address 32
Mar  7 15:39:02 yavdr40 kernel: [69231.466595] usb 3-5: USB disconnect, address 33
Mar  7 15:41:07 yavdr40 kernel: [69355.858609] usb 3-5: USB disconnect, address 34
Mar  7 17:52:49 yavdr40 kernel: [77258.606760] usb 3-5: USB disconnect, address 35
Mar  7 18:07:28 yavdr40 kernel: [78136.895618] usb 3-5: USB disconnect, address 36
Mar  7 18:07:31 yavdr40 kernel: [78140.188508] usb 3-5: USB disconnect, address 37
Mar  7 18:07:36 yavdr40 kernel: [78145.170439] usb 3-5: USB disconnect, address 38
Mar  7 18:16:46 yavdr40 kernel: [78695.451518] usb 3-5: USB disconnect, address 39
Mar  7 18:16:51 yavdr40 kernel: [78700.334294] usb 3-5: USB disconnect, address 40
Mar  7 18:18:22 yavdr40 kernel: [78790.627870] usb 3-5: USB disconnect, address 41
Mar  7 18:27:31 yavdr40 kernel: [79339.705097] usb 3-5: USB disconnect, address 42
Mar  7 18:32:04 yavdr40 kernel: [79613.413569] usb 3-5: USB disconnect, address 43
Mar  7 18:32:29 yavdr40 kernel: [79638.510953] usb 3-5: USB disconnect, address 44
Mar  7 18:32:53 yavdr40 kernel: [79661.715686] usb 3-5: USB disconnect, address 45
Mar  7 19:11:57 yavdr40 kernel: [82005.815598] usb 3-5: USB disconnect, address 46
Mar  7 19:36:07 yavdr40 kernel: [83456.304287] usb 3-5: USB disconnect, address 47
Mar  7 20:01:20 yavdr40 kernel: [84969.448676] usb 3-5: USB disconnect, address 48
Mar  7 20:21:23 yavdr40 kernel: [86172.409850] usb 3-5: USB disconnect, address 49
Mar  7 20:21:32 yavdr40 kernel: [86181.450363] usb 3-5: USB disconnect, address 50
Mar  7 20:48:38 yavdr40 kernel: [87807.131144] usb 3-5: USB disconnect, address 51
Mar  7 21:30:23 yavdr40 kernel: [90311.937318] usb 3-5: USB disconnect, address 52
Mar  7 21:30:35 yavdr40 kernel: [90324.393793] usb 3-5: USB disconnect, address 54
Mar  7 21:30:40 yavdr40 kernel: [90329.425200] usb 3-5: USB disconnect, address 55
Mar  7 21:37:40 yavdr40 kernel: [90749.046691] usb 3-5: USB disconnect, address 56
Mar  7 21:47:53 yavdr40 kernel: [91361.668964] usb 3-5: USB disconnect, address 57
Mar  7 21:48:00 yavdr40 kernel: [91368.790510] usb 3-5: USB disconnect, address 58
Mar  7 21:48:07 yavdr40 kernel: [91376.460588] usb 3-5: USB disconnect, address 59
Mar  7 21:48:19 yavdr40 kernel: [91388.297334] usb 3-5: USB disconnect, address 60
Mar  7 21:48:29 yavdr40 kernel: [91397.972522] usb 3-5: USB disconnect, address 61
Mar  7 21:49:21 yavdr40 kernel: [91450.483309] usb 3-5: USB disconnect, address 62
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da ragno »

@davidea: per i protocolli devi attivarli (a livello sorgenti) comunque:
viewtopic.php?f=8&t=1673&start=35

Per il resto mi sa che hai problemi al circuito. A me non capita. (a parte qualche volta che non funge proprio il remoto, ma e' un problema di yavdr).

Stasera posto un po di logs...

ciao
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da ragno »

@davidea:

ecco un estratto da syslog:

cat syslog | grep "HID"

Codice: Seleziona tutto

Mar  8 19:13:43 yavdr kernel: [    1.391711] generic-usb 0003:16C0:05DF.0001: hiddev0,hidraw0: USB HID v1.01 Device [www.vdr-italia.org USB IR Remote Receiver] on usb-0000:00:0b.0-7/input0
Mar  8 19:13:43 yavdr kernel: [    1.391976] usbhid: USB HID core driver
cat syslog | grep "disconnect"

Codice: Seleziona tutto

Mar  8 19:14:04 yavdr acpid: client 1077[0:0] has disconnected
Mar  8 19:14:19 yavdr acpid: client 1471[0:0] has disconnected
Mar  8 19:14:34 yavdr acpid: client 1480[0:0] has disconnected
Mar  8 19:14:49 yavdr acpid: client 1572[0:0] has disconnected
Mar  8 19:15:04 yavdr acpid: client 1581[0:0] has disconnected
Mar  8 19:15:19 yavdr acpid: client 1590[0:0] has disconnected
Mar  8 19:15:34 yavdr acpid: client 1599[0:0] has disconnected
Mar  8 19:15:49 yavdr acpid: client 1608[0:0] has disconnected
Mar  8 19:16:04 yavdr acpid: client 1617[0:0] has disconnected
ciao
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
davidea
Messaggi: 1279
Iscritto il: 16 ago 2009, 13:32
Località: Palermo
Contatta:

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da davidea »

ragno ha scritto:@alez: se utilizzi il calcolatore online, puoi fare una sorta di reverse engineering, basta impostare manualmente i valori e vedere cosa varia fra i vari atmel.

Con l'impostazione suggerita viene disabilitato il watchdog che sul atmega8 con i valori suggeriti per usb_irr non e' impostato.
Appena ho un po' di tempo provo a programmare un 328 e vedo se funziona sul mio circuito...

In ogni caso: se il chip non e' vergine bisogna sbloccare il bootloader prima di riflashare qualcosa.

proverei cosi:

erase del chip
unlock del bootloader (lock bits=3f)
flash del bootloader
lock del bootloader (lock bits = 0f)
impostazione dei fuses

ciao
ragno, mi spieghi cosa vuoi dire che bisogna sbloccare iiil bootloader????
davidea
Messaggi: 1279
Iscritto il: 16 ago 2009, 13:32
Località: Palermo
Contatta:

Re: ricevitore usb per telecomando (ex:infrahid)

Messaggio da davidea »

alez ha scritto:A questo punto non potevo riprovarci con bootloadHID, testato, funziona sia con quarzo a 12 che 16 MHz, ovviamente bisogna compilare il codice mettendo la frequenza giusta nel makefile se non scazzano tutte le routines di timing e il device USB non viene riconosciuto :D

Ho copiato parte del Makefile funzionante per USBasploader e ho ricompilato con successo anche bootloadHID che ora gira felicemente anche su atMega328p

Per testarlo, ho usato il tool a linea di comando ./bootloadHID ../../blink_test/main.hex

ovviamente testato con versione del firm sia a 16 che a 12 MHz ;)





Che dire, sono stra soddisfatto! La cosa che godo molto è che mi ricordavo i bootloader come oggetti che dovevi "saltare" quando creavi l'hex da buttare dentro alla MCU, invece con questi simpatici Atmel e il jumper tu puoi caricare un hex normalissimo fatto da chiunque, l'importante è usare il jumper quando lo vuoi fare entrare in modalità bootloader, veramente una figata...

quale ritieni piu' funzionale, usbasp o bootloader?
Rispondi