Hallo!
Kennt jemand ein Evaluation Board für PCMCIA / PC-Card (oder
ExpressCard)? Für PCI gibt es davon jede Menge, wenn man mal nach "PCI
Evaluation Board" oder so googlet. Nur für PCMCIA bin ich auch nach
Stunden nicht fündig geworden.
Wenn Ihr Euch jetzt denkt, dass PCMCIA Slots doch viel zu klein sind:
Also das halbe Board kann von mir aus aus dem Slot rausgucken. Ich will
damit kein Schönheits-Wettbewerb gewinnen. Mir geht es hauptsächlich
darum Hardware für Laptops zu haben, die DMA nutzen kann. Wenn ich
irgendwas für USB baue, dann hab ich kein DMA...
Alternative: Wenn es die Boards ja für PCI gibt; gibt es vlt. einen
Adapter der mich PCI Geräte an PCMCIA anschließen lässt? Also die
Gegenrichtung (d.h. PCMCIA in PCI stecken) gibt es wieder in Massen.,,
Vielen Dank schonmal.
Hey!
Danke für die Antworten. Also http://www.accurite.com/HeadStart.html
sieht erstmal nach dem aus, was ich bräuchte. Aber die liefern kaum
Informationen zu dem Produkt und auf dem Photo sieht die PCMCIA Karte
nicht gerade so aus, als könnte ich da noch eigene Hardware draufsetzen.
Ich habe selber noch was gefunden:
http://www.hacker-technology.com/128191.html
Da gibts etwas mehr Infos und die Photos sehen auch deutlich mehr nach
dem aus, was ich bräuchte.
Leider keine Preise. Ich hab die erstmal angeschrieben.
Eine andere Frage: Gibt es hier vielleicht jemanden, der sowas schonmal
gemacht hat? Üblich scheint das ja (- im Gegensatz zu PCI) nicht zu
sein. Weil Informationen und Hardware dazu finde ich wirklich nur sehr
schwer.
Also mein Vorhaben in Kürze ist:
1. PCMCIA <-> Hauptspeicher Kommunikation über DMA
2. Paar Berechnungen innnerhalb der PCMCIA Karte auf diesen Daten
3. Großteil der Daten wird verworfen oder zurück in den Hauptspeicher
geschrieben. Ein kleiner Teil von Ergebnissen soll auf SD-Karte
(max. 1GB) geschrieben werden. Die SD-Karte soll in die PCMCIA
Karte gesteckt werden können.
Wichtig bei dem ganzen Projekt ist es, dass der Haupt-Prozessor damit
nichts zu tun hat. Deswegen brauch ich DMA und ich brauch einen halbwegs
vernünftigen Mikrocontroller auf der PCMCIA Karte und die SD-Karte muss
auch hardware-mäßig direkt angesprochen werden. Im Ideal-Fall kommt die
Karte komplett ohne Treiber aus. Das OS darf in den ganzen Prozess nicht
aktiv eingreifen.
Bin für alle Tipps dankbar!
Was exakt meinst Du mit "PCMCIA-Karte"?
Die alte, dem ISA-Bus recht nahe 16-Bit-Variante, die nur etwas neuere
PCI-ähnliche 32-Bit-Varianten oder die PCIe-Verwandte?
(In gleicher Reihenfolge: PCMCIA oder CardBus16, CardBus32 und
ExpressCard)
Was ist das für ein merkwürdiges Vorhaben, bei dem Du annimmst, ohne
OS-Unterstützung per DMA im Rechner herumfuhrwerken zu können? Und
welche Rolle spielt dabei eine SD-Karte?
DMA geht ja eh erst mit CardBus32, also dem PCI-Ableger. Aber für ein
neues Design würde ich gleich auf ExpressCard setzen, denn das ist voll
PCIe kompatibel. Dafür gibts dann DMA-fähige Bridge-Chips, wie z.B. den
PEX8311 oder den GN4121, der Gennum braucht noch einen FPGA dran, der
PLX kann eigentlich direkt mit einem passenden Prozessor kommunizieren.
DMA Engine hat der schon eingebaut.
tma schrieb:
> 1. PCMCIA <-> Hauptspeicher Kommunikation über DMA> 2. Paar Berechnungen innnerhalb der PCMCIA Karte auf diesen Daten> 3. Großteil der Daten wird verworfen oder zurück in den Hauptspeicher> geschrieben. Ein kleiner Teil von Ergebnissen soll auf SD-Karte> (max. 1GB) geschrieben werden. Die SD-Karte soll in die PCMCIA> Karte gesteckt werden können.
Lass mich raten, du willst nach Crypto-Schlüsseln o.ä. suchen.
Vergleichbar mit dem Firewire-DMA-Angriff vor ein paar Jahren.
PCMCIA/PC-Card kannst du da auf jeden Fall schon vergessen. Das hat zwar
DMA, ohne dass die CPU da mitspielt und den DMA-Controller konfiguriert
wird das aber nichts.
Bei Cardbus müsste man schauen, inwiefern die Cardbus-Bridge bereits
Busmaster-Transfers zulässt, bevor die Karte (bzw. der Socket) vom
Betriebssystem initialisiert wurde. Leider gibt es den Cardbus-Standard
nur für viel Geld, aber vielleicht hat die nächste Uni-Bib sowas.
Auf jeden Fall kannst du nicht verhindern, dass der Rechner (bzw. das
Betriebssystem) mitbekommt, dass dort irgendein Device im Slot steckt.
Ansonsten, wenn es OK ist, dass das Betriebssystem auf dem Rechner
vorher präpariert wird, und die CPU nur bei dem eigentlichen Transfer
unbeteiligt bleiben soll, dann kannst du ja die Fixes, die nach dem
Firewire-Problem vor ein paar Jahren gemacht wurden, rückgängig machen.
Dann brauchst du auch keine Hardware bauen, der Angriff damals konnte
via Software von einem zweiten Rechner mit Firewire aus gefahren werden.
Andreas
Hey!
Danke für die Antworten. Ja Andreas hat schon fast richtig geraten.
Allerdings arbeite ich nicht für die dunkele Seite der Macht, sondern
das ganze soll unter dem Deckmantel der Forensik laufen. Was man damit
im Endeeffekt sonst noch machen kann, ist ja jedem selbst überlassen ;-)
Sowas wurde mal für PCI gemacht; die Hardware hieß Tribble:
http://www.digital-evidence.org/papers/tribble-preprint.pdf
Also die Jungs haben das hinbekommen mit PCI. Nur PCI unterstützt kein
Plug'n'Play und man musste die Karte einbauen, bevor man den Rechner
anmacht. Aber PCCard32 ist ja fast PCI. Also dachte ich, dass sollte
auch mit PCCard32 möglich sein.
Also CardBus (= PCCard32) unterstützt auf jeden Fall DMA via
Busmastering. Das bräuchte ich ja mindestens. Ob das Busmastering nun
auch ohne OS-Support ans Laufen zu bekommen ist, weiß ich leider nicht.
Die offizielle Spezifikation gibts bei meiner Uni nicht; die online
Suche bei der Bib gibt nur:
PCMCIA Levine, Larry (1996)
PCMCIA für Entwickler Mori, Michael T. (1995)
PC-Card (1997) Mielke, Bernd
PCMCIA . - 1. Aufl. Schulz, Ulrich (1995)
PCMCIA optimal nutzen Strass, Hermann (1994)
Also alles recht alt (wie der Standard eben). Über ExpressCard konnte
ich überhaupt nichts rausinden. Weiß jemand ob ExpressCard überhaupt
noch Busmastering/DMA unterstützt?
Also auf pcmcia.org hab ich z.B. auch folgendes gelesen:
PC Card Standard 7.2 Update - November 2000
- [...]
- Removal of support for Direct Memory Access (DMA)
Meinen die das ernst? Vielleicht ist denen ja irgendwann aufgefallen,
das Plug'n'Play mit DMA doch ziemlich unsicher ist und haben es
tatsächlich entfernt. Dann wäre mein Vorhaben natürlich gescheitert,
weil davon auszugehen wäre, dass es in ExpressCard auch entfernt ist.
Und neben der Frage ob das prinzipiell überhaupt möglich ist, ist mein
anderes Problem immer noch, dass ich kein vernünftiges PCMCIA
Development Board finde.
tma schrieb:
> Danke für die Antworten. Ja Andreas hat schon fast richtig geraten.> Allerdings arbeite ich nicht für die dunkele Seite der Macht, sondern> das ganze soll unter dem Deckmantel der Forensik laufen. Was man damit> im Endeeffekt sonst noch machen kann, ist ja jedem selbst überlassen ;-)
Forensik-Technik ist immer Dual-Use ;-)
> Sowas wurde mal für PCI gemacht; die Hardware hieß Tribble:> http://www.digital-evidence.org/papers/tribble-preprint.pdf> Also die Jungs haben das hinbekommen mit PCI.
Allerdings auch da mit dem Manko, dass das OS (und damit die Malware/das
Untersuchungsobjekt) auf jeden Fall mitbekommt, dass da ein neues Gerät
am Bus aufgetaucht ist.
Ob das Suspenden der CPU, um Gegenmassnahmen zu verhindern, in heutigen
Systemen, wo PCI nur noch als PCIE/PCI-Bridge existiert, noch so ohne
weiteres funktioniert, weiss ich nicht.
> Nur PCI unterstützt kein> Plug'n'Play und man musste die Karte einbauen, bevor man den Rechner> anmacht.
Es gibt auch PCI-Hotplug, muss aber von Mainboard und OS unterstützt
werden, wird also nichts ohne Mitarbeit des Rechners ;-)
> Also alles recht alt (wie der Standard eben). Über ExpressCard konnte> ich überhaupt nichts rausinden. Weiß jemand ob ExpressCard überhaupt> noch Busmastering/DMA unterstützt?
ExpressCard ist je nach Karte entweder PCI Express oder USB. Die
PCIE-Lane ist dabei vollwertig, kann also das gleiche wie ein interner
PCIE-Slot auch, und damit auch Busmaster.
Allerdings kann nicht jeder ExpressCard-Slot auch PCIE, die ganzen
Adapter von Cardbus auf ExpressCard machen z.B. nur USB. Damit geht dann
natürlich kein Busmaster.
In naher Zukunft dürfte dir dann allerdings auch noch die IOMMU einen
Strich durch die Rechnung machen. Ausserdem gibt es zumindest bei
AMD-CPUs mit SVM-Support auch schon länger die Möglichkeit,
PCI/PCIE-Geräten den Busmaster-Zugriff auf den Speicher zu verweigern
(über den Device Exclusion Vector).
Aber davon ob's prinzipiell geht oder nicht mal ganz abgesehen ist PCIE
was den Bau der Hardware angeht eine ganz andere Hausnummer. Mit mal
eben auf Lochraster zusammenbraten wird das da definitiv nichts mehr bei
Frequenzen im GHz-Bereich.
> Also auf pcmcia.org hab ich z.B. auch folgendes gelesen:>> PC Card Standard 7.2 Update - November 2000> - [...]> - Removal of support for Direct Memory Access (DMA)>> Meinen die das ernst?
Etwas definitives wird wohl nur ein Blick in den Standard liefern ;-)
> Vielleicht ist denen ja irgendwann aufgefallen,> das Plug'n'Play mit DMA doch ziemlich unsicher ist und haben es> tatsächlich entfernt. Dann wäre mein Vorhaben natürlich gescheitert,> weil davon auszugehen wäre, dass es in ExpressCard auch entfernt ist.
Da es Dockingstations gibt, die an das Laptop via ExpressCard-Slot
angeschlossen werden und in die man dann normale PCI-Karten einsetzen
kann, und diese laut Hersteller auch PCI-Busmaster unterstützen, gehe
ich mal stark davon aus, dass Busmaster mit ExpressCard tatsächlich
geht.
http://www.spec.de/fileadmin/english/datasheets/dock/dock_datasheet_english.pdf> Und neben der Frage ob das prinzipiell überhaupt möglich ist, ist mein> anderes Problem immer noch, dass ich kein vernünftiges PCMCIA> Development Board finde.
Hier ist noch ein Board, das dürfte was passendes sein:
http://www.twinind.com/catalog_detail.php?id=74
Andreas
Das hier könnte auch noch interessant für dich sein:
http://www.picocomputing.com/e_series.html
Da gibt es ExpressCards mit Virtex-FPGA drauf. Dürfte aber nicht ganz
billig sein.
Andreas
Nachtrag: Cardbus mit Virtex 4 gibt es da auch.
Hey!
Danke für die ausführlichen Antworten!
Der zweite Link sieht ziemlich gut aus. Werde ich mir mal genauer
anschauen! Der erste Link dagegen ist nicht so mein Fall; das Board ist
komplett leer. Mir wäre es lieber, wenn mir da schon einiges an Arbeit
abgenommen wird, also inbesondere bei der Bus-Kommunikation.
Aber bevor ich irgendwas kaufe, will ich nun erstmal definitiv
rausfinden ob es prinzipiell überhaupt möglich. Ich schau mich noch ein
bisschen um. Wenn ich was herausfinde, poste ich es.
das zeug von picocomputing ist echt teuer, ich weiss ja nicht wie viel
geld du zur verfuegung hast aber das hier waere sicherlicha uch was fuer
dich:
http://www.enterpoint.co.uk/tarfessock/tarfessock1.html
habe mir die vor kurzem aelber gekauft.
ciao
Hey!
Cool danke. Da steht ausnahmsweise auch mal ein Preis dabei. Wollte PICO
gerade schon eine Email schreiben. Aber wenn du sagst, dass die echt
richtig teuer sind, denke ich du meinst > 1000 EUR, oder? Also im Moment
stehe ich mit dem Projekt noch alleine da, d.h. < 1000 EUR muss es schon
sein. Ich könnte mal mit der Uni reden, ob die einspringt, aber da
müsste ich auch erstmal sicherstellen, dass alles so klappt, wie ich mir
das vorstelle.
Dieses Tarfessock1 für ~330 EUR hört sich aber verdammt gut an. Du
sagst, du hast das? Hast du gute Erfahrungen damit?
Kannst du dir vorstellen, dass mein Vorhaben damit gelingen könnte?
tma schrieb:
> Hey!>> Wollte PICO gerade schon eine Email schreiben. Aber wenn du sagst,> dass die echt richtig teuer sind, denke ich du meinst > 1000 EUR, oder?http://www.fpga-faq.com/FPGA_Boards.shtml und such nach cardbus.
@thomas:
Hehe, ja genau beim Pico E-14 (= CardBus) steht natürlich "contact
vendor". Aber die Preise vom E-12 (fast 3000 Dollar), lassen den Rest
erahnnen. Trotzdem habe ich PICO jetzt mal eine Email geschrieben um
genaueres zu erfahren.
ich hatte da mal angefragt und mit studirabatt und netto 999,- wars
billigste.
ich weiss nicht was du damit machen moechtest, aber bei dem tarfessock
ist zumindest atm kein interface dabei fuer device1, das soll aber wohl
noch kommen.
Das board sieht bei mir sehr gut aus, das gahaeuse ist von einer
usb->cardbus karte, also etwas gebastelt, fnktioniert aber bei mir gut.
ein board das alles kontake am ende der karte herausfuehrt ist dabei,
fuer versuchsaufbauten ist das super, dabei ist auch ein JTAG-Anschluss.
Kleiner tipp noch: der LPT-Jtag ist bullshit, den braucht eh niemand,
vllt. kanste nen paar euro rabatt rausschlagen wenn du sagst du willst
das nicht, oder nimm halt gleich den mit USB.
die leute bei enterpoint koennen dir gut helfen. da gibt es einen
mitarbeiter der fuer das Tarfessock zustaendig ist, vorname john. der
schreibt auch auf einer FPGA-google-gruppe, sehr nett und kann dir alle
fragen beantworten :) schreib mir ne PN, dann kann ich dir seine
mailadresse geben.
ciao, zachso