|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 984
|
Programma porte USB !
![]() Ok, ormai lo sanno anche i bambini come si programmano (a livello assembler) le porte seriali e le porte parallele. (registri interrupt e cazzatelle varie) xò per le porte USB nulla ? ![]() come si programmano ? quali sono i registri ? Ovviamente prevedo che ci sarà un integrato dedicato apposta, magari incorporato nell' south bridge ![]() Bene, il fatto è che vorrei controllare il flusso dati in ingresso/uscita del mio computer, attraverso un' altro computer che fà semplicemente da trasponder, ma che memorizza tutto flusso di byte. Questo è facile da fare se ho il modem attaccato ad una porta RS232, ma se la porta è usb ? ![]() suggerimenti e link sono sempre molto graditi ! Ciao. ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
|
ecco mi interessa dato che non ho mai trovato nulla a riguardo fatto bene
![]() ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
ancora gente che pretende di programmare direttamente in assembly in modalità protetta
![]() e ditemi, come fareste voi (in assembler) ad accedere ad una USB se il suo controller non fosse sulla scheda madre ma su una scheda a parte, un hub USB? e se si trattasse invece di un hub USB attaccato ad una USB di un altro hub, attaccato infine ad una USB di una scheda PCI (sparo)?!? non sarebbe meglio (come al solito) sfruttare il supporto offerto dal sistema operativo e dai suoi drivers ad hoc? ![]() qualsiasi ciofega di sistema operativo permette di accedere alle USB e a molti altri tipi di porte con degli pseudofiles. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
|
ehm sai com'è certe volte lavorare a basso livello e vedere tutto come funziona ti fa imparare molte + cose. Cmq ovvio mi basterebbe anche lavorare in c++
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Bè è distante anni luce dal programmare una seriale. Su una seriale si può accedere, al livello elementare, con un poche porte di i/o.
Un host usb è in genere un dispositivo PCI (anche se "cablato" sulla scheda madre), quindi anche solo per cominciare a parlarci occorre programmare un dispositivo pci. Quindi, occorre conoscere qualcosa sul protocollo usb. A differenza di una seriale, che si comporta essenzialmente come un pipe, un dispositivo usb ha normalmente più "pipe" logici di comunicazione, chiamati endpoint. Come se non bastasse, ogni endpoint può essere di 4 tipi diversi, ovviamente spesso configurabili dal driver. Tutto questo per scrivere il driver per l'host; poi occorre scrivere il driver per il device. La documentazione ufficiale la trovate qui: http://www.usb.org/developers/docs/
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 984
|
Grazie x il link
![]() Come giustamente ha detto ilsensine la porta USB è qualcosa di diverso, infatti la linea rx/tx è unica, e quindi facile intuire che ci deve essere un protocollo di comunicazione abbastanza evoluto, stile rete ethernet, (a collisione di pacchetto penso di no ![]() o per lo meno doverbbe esserci un handshake software frà l'unità master e l'unità slave. ![]() Bene, me le studierò con calma ![]() x 71104... vatti a fidare del S.O. Win_xyz ![]() le patch, le vulnerabilità, e adesso anche il virus che si intrufola nei documenti di word, sembra quasi che lo fanno apposta a lasciare molte open-backdoors... ![]() Fosse x mè ritornerei ad un bel DOS 64-Bit ![]() Ciao ![]() |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
|
Quote:
![]() ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 984
|
Quote:
![]() ... .... A livello hardware c'è sicuramente un controller che gestisce le porte USB e questo chip sicuramente avrà dei registri e degli interrupt proprietari ... programmabili. Uhm, mi sembrava che sul sito AMD ci fosse qualcosa al riguardo... ok, appena posso ci dò uno sguardo, e se trovo qualcosa posto il link ![]() ri-ciao ![]() |
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 984
|
Quote:
![]() A leggere qesto http://www.hwupgrade.it/news/sicurezza/14878.html c'è da preoccuparsi ! |
|
![]() |
![]() |
![]() |
#10 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
a parte che imho Windows è più bersagliato degli altri sistemi operativi desktop solo perché tra i tanti è l'unico che gira sul 90% delle macchine desktop ( ![]() |
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
I device possono essere un problema; sebbene lo standard usb definisca una serie di "classi" (ad es. audio device, mass-storage device ecc.) con protocollo unificato e documentato per ciascuna classe, esistono diversi produttori che preferiscono fare di testa loro e implementarsi i loro protocolli fatti in casa. Questo è vero specialmente nel mondo dei modem, dove lo "standard" usb per questi dispositivi (acm) viene troppo spesso snobbato (e il protocollo proprietario adottato non è in genere documentato neanche a sparargli).
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
![]() |
![]() |
![]() |
#12 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
![]() |
![]() |
![]() |
#13 | ||||
Senior Member
Iscritto dal: Apr 2004
Messaggi: 984
|
Quote:
un Trasponder USB frà il Computer x internet e un computer di controllo xchè mi sono rotto le ![]() ![]() nel mio computer passando allegramente Antivirus & CO. Ma questa è una questione di contorno. Quote:
di questo vai a vedere quanti virus x macchine unix esistono, all' incirca il doppio di winzzz. Quote:
con le apposite funzioni, tanto meglio. Cmq se non c'è altra via si programmano direttamente i registri del controller USB. L'ho già fatto con la porta parallela e con le seriali, e non è difficile nè è da masochisti, bisogna solamente saperlo fare ! ![]() ![]() Quote:
![]() virus e adware e i pingatori che rompono ogni giorno ! Cercherò in ogni modo di castrargli la "connessione" via hardware con il mio computer ! Good Luck ! |
||||
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 984
|
Ok, x rientrare in tema, mi sembra che molti documenti dell' AMD,
in particolare l' am186cc gestisce porte USB. I Registri per programmare queste porte sono integrati nel south_bridge, e quindi penso che bisognerà scaricare la documentazione di questi, almeno x sapere a quali indirizzi fare riferimento. Se poi esistono delle librerie di funzioni x C o C++ che si incaricano della gestione delle porte USB, questo è ancora meglio. Infatti mi sembra che AMD propone delle funzioni da aggiungere nell' header del C o C++ per fare questo. Tchuss ![]() |
![]() |
![]() |
![]() |
#15 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
tempo fa su questo forum si è parlato proprio di un esempio in Visual Basic che apriva le porte USB (ce l'ho ancora, se lo ripesco lo metto in attachment). |
|
![]() |
![]() |
![]() |
#16 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
eccolo; in particolare guarda il codice della funzione OpenUSBdevice nel file hidinterface.bas; tutto il resto è ReadFile, WriteFile e CloseHandle alla fine.
![]() Ultima modifica di 71104 : 29-06-2005 alle 22:43. |
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 984
|
Quote:
![]() Il mio problema principale era infatti quello di mandare un byte o word sulla porta USB xx e riceverlo su un' altra. (Ovviamente non pretendo di scrivere un programma che gestisce il protocollo e il flusso dati di un HD esterno !) Questo anche in previsione di usare i nuovi controller programmabili via USB, o semplicemente x realizzare una connessione da PC a PC. (Sicuramente le porte del computer sono di tipo master, cioè danno anche l'alimentazione a 5Vcc, mentre le porte utente non generano nessun tipo di tensione..) Tchuss ![]() |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 984
|
![]() non riesco a scaricare dal sito AMD i Datasheet dell' AM186CC http://www.amd.com/us-en/Connectivit...6_8999,00.html Boh ? ![]() |
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Nota che non è comunque così banale come con la seriale; ricorda che hai diversi "canali", di tipo diverso.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Jan 2004
Città: Gatteo
Messaggi: 2955
|
Ragazi, scusate se mi infilo nella discussione, ma sono disperato e ho bisongo di una mano (grossa).
Dovrei costruire una periferica usb ( ![]()
__________________
And so at last the beast fell and the unbelievers rejoiced. But all was not lost, for from the ash rose a great bird. The bird gazed down upon the unbelievers and cast fire and thunder upon them. For the beast had been reborn with its strength renewed, and the followers of Mammon cowered in horror. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:32.