atmega, tiny, etc., USB i "ukryte urzadzenie".

Witam serdecznie,

Ciezko powiedziec, czy dokladnie dobra grupe wybralem, ale zaryzykuje. Podlaczyc jakis maly uC pod USB to raczej nie jest wielki problem, istnieje kilka projektow, wiec da sie. Chce zrobic "klucz" na usb. Na ow kluczu ma byc powiedzmy 250 bajtow danych, czytanych przez program, ktory pewnie tez bede musial napisac.

Pytanie:

- jak dostac sie do urzadzenia, nie instalujac zadnych sterownikow, lub

- jesli trzeba zainstalowac sterowniki, jak widzielibyscie ten projekt, aby po wlozeniu klucza sterowniki same sie zainstalowaly (tak jak flash drive).

Nie wiem jak zrobic pierwsze, w przypadku drugiego problemow moze byc kilka - np FAT. Ale co ciekawsze, uzyszkodnik moze usunac cos z takiego dysku, i co? I zle...

Chcialbym tylko pobierac kilkaset bajtow danych z klucza przez jeden program a nie mam za bardzo koncepcji.

Moze ktos przerabial cos podobnego, jakbym dostal jakies linki to juz w ogole podskocze z radosci.

Dzieki! m.

Reply to
Marcin Lukasik
Loading thread data ...

Jakies rozwiazanie, nie koniecznie najlepsze przedstawiam na dole.

Mikroprocesor udaje zwykle urzadzenie mass-storage takie jak flash drive. Jest na tymze urzadzeniu jeden plik. Wszystkie operacje kasowania i zmieniania tego pliku urzadzenie ignoruje, chyba ze jako poczatek danych do zapisania do tego pliku wyslany jest specjalny klucz. Tenze klucz oczywiscie nie jest faktycznie zapisywany w tym pliku tylko wycinany.

W razie potrzeby, jezeli trzeba uchronic dane tez przed odczytem przez uzytkownika to wymagamy przed komenda odczytu komende zapisu z takim kluczem, albo cos w tym stylu.

Zaleta takiego rozwiazania jest ze nie potrzebujesz zadnych sterownikow do komputera. Natomiast nie wiem na ile latwe jest zaimplementowanie (okrojone) urzadzenia mass-storage USB w mikrokontrolerze.

Oczywiscie nalezy pamietac, ze takie zabezpieczenie nie jest zabezpieczeniem przed kimkolwiek chcacym je zlamac, a jedynie przed uzytkownikiem ktory przez przypadek by skasowal cos z klucza USB.

Reply to
Jarek Kutylowski

No wlasnie to jest jedno z tych, o ktorych myslalem. Tylko najlepiej byloby, jakby po prostu dalo sie jakos dostac do urzadzenia po adresie. Cos w C zalozymy, zeby laczylo sie z urzadzeniem pod jakims adresem... Pytanie, pewnie niebanalne, jak to zrobic... Jestem pewien, ze sie da. Tylko nie wiem jak.

Moze ktos jeszcze ma jakies pomysly?

m.

Reply to
Marcin Lukasik

Jarek Kutylowski napisal:

Mala uwaga - "zwykle" niezbyt tu pasuje. Do tej konkretnej aplikacji skonfigurownanie urzadzenie jako MassStorage moze byc calkiem ok bo host(PC) ma pelna kontrole nad zawartosci "dysku" - jesli jednak mikrokontroler ma samodzielnie modyfikowac dane (np. generowac "plik statusowy" ) to jest to kiepski pomysl. Specyfikacja UsbMassStorage nie przewiduje takiego zachowanie i np. nie daje mozliwosci poinformaowania PC ze dane na dysku ulegly modyfikacji, typowy objaw - PC sciaga dane raz a potem przy kazdej probie dostepu siega do zbuforowanych danych. Mozna to obejsc wylaczjac buforowanie ale jest to na tyle upierdliwe ze lepiej uzyc innego typu urzadznia. Typowy mikrokontroler z USB "fabrycznie" nie przedstawia sie jako cos konkretnego i, z dpowiednim programem na pokladzie, moze udawac cokolwiek.

Jesli dysponujesz wyspecjalizowanym chipem do obslugi USB ktory wystarczy odpowiednio skonfigurowac (np. CY7C68001 - bardzo wygodny - tyle ze uzycie tego do opisywanej aplikacji byloby spora przesada :) i ktory odwala praktycznie cala brudna robote zwiazana z obsluga usb - implementacja MassStorage jest latwa. Sprzet wbudowany w uC jest zwykle dosc prymitywny i wymaga zlozonego kodu (na szczescie producent zwykle udostepnia przyklady) - mimo wszystko powiedzialbym ze uzycie tego jest znacznie trudniejsze (sam nie probowalem - ale pamietam kolege wyklinajacego na jakis kontroler cypresa i firmowe procedury obslugi usb :). Trzecie rozwiazanie - uzyc chipa FTDI - driverow zwykle instalowac nie trzeba, obsluga od strony uC jest banalna, od strony PC tez. Powiedzialbym ze dla poczatkujacego byloby to najprostsze rozwiaznie. GRG

Reply to
grzegorz.domagata

Nie, bo adres MAC nie jest tym, co chce tam przechowywac. Co wiecej, to sieciowka a nie klucz na usb.

m.

Reply to
Marcin Lukasik

Marcin Lukasik snipped-for-privacy@milea.usun.pl> napisał(a):

Może ten link coś Ci podpowie:

formatting link
Albo może oprogramować coś jak przelotkę USB->COM, a dać po drugiej stronie jakiś mikrokontroler (FTDI+AVR ?), z którym możesz się porozumiewać. Jeśli Windowsy XP/200/ME nie potrzebują sterowników z dyskietki, to może będzie działać.

K.

Reply to
konfabulator
Reply to
Marcin Lukasik

Nie chce zeby nic udawal. Chce, zeby po prostu "byl" w systemie po wlozeniu, i zeby mozna bylo przeczytac z niego ciag znakow. I tyle.

No wiec tak. To musi byc cos malego, jakies attiny albo cos w tym klimacie. Znalazlem to:

formatting link
nie wiem jak bedzie to wygladac pod windowsem. A co jakby emulowal port szeregowy i ja bym sie laczyl z programu pod jakis tam adres i po prostu pobieral dane?

Zrobic cos takiego na jakims LPT czy COMie to nie widze problemu. Ale z USB mam, i to wielki :/

Ale wlasnie tego nie chce. Nie chce, zeby uzytkownik nawet wiedzial, ze to cos robi ;-) Pozatym mass storage wiaze sie dodatkowo z FATem albo jakims innym systemem plikow, co zre pamiec i nie jest mi do niczego potrzebne.

Ja tylko pytam jak to bedzie wygladalo z USB. Bo o ile sama transmisja problemem nie bedzie o tyle nie wiem jak powiedziec windowsowi, zeby dalo sobie spokoj z instalacja driverow. Chcialbym, zeby wygladalo to jak podpiecie czegos na LPT czy COM. Zero pytan, po prostu dziala.

m.

Reply to
Marcin Lukasik

Dnia 12-12-2005 o 12:35:59 Marcin Lukasik snipped-for-privacy@milea.usun.pl> napisał:

Skoro już wspomniałeś o flashdrive to może mikrokontroler z USB pracujący jako mass storage device? Producenci (Microchip, Atmel) podają przykłady. Program przeszukuje katalogi główne napędów szukając określonego pliku, który świadczyłby, że napęd jest "tym właściwym", komunikuje się z napędem/mikrokontrolerem poprzez zapisywanie i pobieranie 1 lub więcej plików, tak to sobie przynajmniej wyobrażam. BTW, TeleKlucz HASP jest jak widzę tańszy od wcześniej wspomnianych.

Reply to
Ostry

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.