Forum: Mikrocontroller und Digitale Elektronik Netzwerk-USB-Stick


von Walter Tarpan (Gast)


Lesenswert?

Hallo zusammen,
ich habe ein Meßgerät mit einer USB-Buchse, das einen FAT32-formatierten 
USB-Stick erwartet, auf den Konfigurations- und Meßdaten gespeichert 
werden können.

Ich frage mich, ob es möglich wäre, dem Gerät ein USB-Gerät zu 
präsentieren, das ihm das gewünschte Dateisystem bietet, gleichzeitig 
aber auch (ohne daß das Gerät es mitbekommt) als Netzwerk-Freigabe 
fungiert - einerseits um Daten schneller zwischen PC und Gerät 
auszutauschen, andererseits um die USB-Buchse des Meßgeräts etwas länger 
leben zu lassen.

Hat schon jemand derartiges gesehen?

Viele Grüße
W.T.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Walter Tarpan schrieb:
> Hat schon jemand derartiges gesehen?

So etwas kann nicht funktionieren, da der Dateisystemtreiber, der das 
Ding als USB-Massenspeicher anspricht, nichts davon weiß, daß ein 
zweiter Dateisystemtreiber hinterrücks (über das Netzwerk) ebenfalls auf 
dem USB-Stick herumrührt.

Das führt bei Schreibzugriffen zu sehr drolligen Effekten.

: Bearbeitet durch User
von Peter II (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> So etwas kann nicht funktionieren,

ja, könnte man denken. Aber scheinbar haben Hersteller dafür eine 
Möglichkeit gefunden

Transcend Wi-Fi SDHC

wenn du diese in einen Kartenleser steckst, dann könnte das 
funktionieren. Das Problem ist aber das bei den Karten meines Wissen es 
meist über die "Cloud" vom Anbieter geht.

von Sean G. (atmega318)


Lesenswert?

Gewisse Mikrocontroller können ja USB Massenspeicher in ihrem RAM 
emulieren. Vielleicht könnte so ein uC dann ja über Ethernet seinen RAM 
Inhalt weiterreichen. Bin mir aber da auch nicht so sicher, wie 
kompliziert sowas ist.

von Jim M. (turboj)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Walter Tarpan schrieb:
>> Hat schon jemand derartiges gesehen?
>
> So etwas kann nicht funktionieren, [...]

Da gehen die Meinungen aber auseinander, denn Du hast eventuell ein ganz 
ähnlich funktionierendes Gerät in der Hosentasche in Form eines Android 
Mobiltelefons oder Tablets.

Android kann die oft vorhandene SD-Karte als USB Massenspeicher 
freigeben,
kann während dessen aber selbst natürlich nicht drauf lesen oder 
schreiben.
Allerdings kann ich bei meinem Telefon den Freigabe Modus nur bei 
abgestecktem USB Kabel ändern.

Wenn man das via Wifi steuern können möchte, dann brauchts wohl 
mindestens Root Privilegien und eine passende App.


Was änliches habe ich mal mit einem µC gemacht, dort habe ich den 
Massenspeicher als "removable" geflaggt und dann einfach virtuell 
ausgeworfen, wenn der µC selbst drauf zugreift.

von Peter II (Gast)


Lesenswert?

Jim Meba schrieb:
> Da gehen die Meinungen aber auseinander, denn Du hast eventuell ein ganz
> ähnlich funktionierendes Gerät in der Hosentasche in Form eines Android
> Mobiltelefons oder Tablets.
>
> Android kann die oft vorhandene SD-Karte als USB Massenspeicher
> freigeben,

nein, das ist etwas anders. Das wird nicht da Bockdevice direkt 
freigegeben sondern es wird eine API für den Zugriff bereitstellt. Das 
Handy kann dabei jedes Dateisystem haben was es will.

von Peter II (Gast)


Lesenswert?


von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Peter II schrieb:
> ja, könnte man denken. Aber scheinbar haben Hersteller dafür eine
> Möglichkeit gefunden
>
> Transcend Wi-Fi SDHC

So etwas funktioniert nur, wenn der "Host", also das Gerät, in dessen 
SD-Karten-Slot die Karte steckt, so etwas unterstützt. Digitalkameras 
machen das, unter anderem auch dadurch, daß sie ein sehr rigoros 
eingeschränktes Dateisystem verwenden. Damit erkennt einerseits die 
WLAN-Seite, wann ein Dateisystemzugriff abgeschlossen ist, und 
andererseits die Kamerafirmware, wann sie sich das Dateisystem nach 
Änderungen durch den WLAN-Teil noch mal genauer ansehen sollte.

Aber in irgendwelchen Geräten, die nichts davon wissen, daß es 
derartige Spezialkarten gibt, geht so etwas nicht.


Jim Meba schrieb:
> Android kann die oft vorhandene SD-Karte als USB Massenspeicher
> freigeben,
> kann während dessen aber selbst natürlich nicht drauf lesen oder
> schreiben.

Das ist dann kein gleichzeitiger Zugriff mehr. Solange die Karte in 
einem SD-Karten-Slot steckt, darf kein WLAN-Zugriff erfolgen.

von Peter II (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Aber in irgendwelchen Geräten, die nichts davon wissen, daß es
> derartige Spezialkarten gibt, geht so etwas nicht.

aber das Messgerät könnte das gleiche Verhalten haben wie die Kameras. 
Ein versuch ist es wert, wenn er so etwas braucht. Meist erfolgt der 
Zugriff über WLAN nur lesend, das macht weniger Probleme als wenn beide 
Seiten schreiben dürfen.

von ZigZeg (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> So etwas kann nicht funktionieren, da der Dateisystemtreiber, der das
> Ding als USB-Massenspeicher anspricht, nichts davon weiß, daß ein
> zweiter Dateisystemtreiber hinterrücks (über das Netzwerk) ebenfalls auf
> dem USB-Stick herumrührt.

Eine Netzwerkfreigabe wuerde den Massenspeicher aber nicht auf 
Blockebene freigeben. Wenn man die Daten z.B. readonly ueber NFS oder 
SMB exportiert sollte es technisch funktionieren.

ZigZeg

von Peter II (Gast)


Lesenswert?

ZigZeg schrieb:
> Eine Netzwerkfreigabe wuerde den Massenspeicher aber nicht auf
> Blockebene freigeben. Wenn man die Daten z.B. readonly ueber NFS oder
> SMB exportiert sollte es technisch funktionieren.

nein. irgendjemand muss aber das Dateisystem umsetzen und das sollte nur 
ein Gerät sein.

Wer soll es denn exportieren?

von lui (Gast)


Lesenswert?

Hallo,

AVM hat so was mal als Labor-Firmware für FritzBoxen gemacht:
http://www.wehavemorefun.de/fritzbox/Streaming-Stick

Nach "streaming stick" googlen bringt mehr Ergebnisse, das ganze gabs 
aber schon 2009, ich meine das wurde wieder eingestellt.

In die andere Richtung gibt es so was bei Conrad:

http://www.conrad.de/ce/de/product/1197260/renkforce-Jak-USB-Streaming-Stick-fuer-Android-und-iOS

Allerdings scheinbar nur für SmartPhones und vermutlich nur in die 
"falsche" Richtung.

Gruß, Lui

von Walter T. (nicolas)


Lesenswert?

Hallo zusammen,

Rufus Τ. Firefly schrieb:
> So etwas kann nicht funktionieren, da der Dateisystemtreiber, der das
> Ding als USB-Massenspeicher anspricht, nichts davon weiß, daß ein
> zweiter Dateisystemtreiber hinterrücks (über das Netzwerk) ebenfalls auf
> dem USB-Stick herumrührt.
>
> Das führt bei Schreibzugriffen zu sehr drolligen Effekten.

Auf den ersten Blick ist das richtig. Auf den zweiten Blick allerdings 
gar nicht so schlimm: Das Gerät muß ja darauf vorbereitet sein, daß ein 
echter USB-Stick irgendwann abgezogen wird - es kann also nicht einfach 
wahllos ständig darauf herumschreiben. Und es spricht nichts dagegen, 
wenn sich die "USB-Stick-Seite" vom Host abmeldet (Pull-up entfernen), 
sobald die "LAN-Seite" eine Schreiboperation verlangt. (Über FTP ließe 
sich das vermutlich sogar recht einfach implementieren.)

Naja, selbst wäre ich (noch) nicht in der Lage, das zu implementieren - 
aber vielleicht gibt es soetwas ja schon.

An die WLAN-SD-Karten von Kameras habe ich noch gar nicht gedacht - aber 
ich vermute, die funktionieren nur in eine Richtung (Kamera schreibt, 
Smartphone liest).

Das Conrad-Spielzeug scheint ja nur für Multimedia-Daten, nicht für 
allgemeine Dateien zu sein?

Danke für die Diskussion! Ich hoffe sie liefert noch Weilchen weiter 
gute Ideen.

Viele Grüße
W.T.

von 123 (Gast)


Lesenswert?

Sowas geht. Siehe.

sandisk connect wireless

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Walter Tarpan schrieb:
> Das Gerät muß ja darauf vorbereitet sein, daß ein echter USB-Stick
> irgendwann abgezogen wird - es kann also nicht einfach wahllos ständig
> darauf herumschreiben.

Das ist zwar richtig, aber das bedeutet nicht, daß das Gerät nicht Teile 
des Dateisystems cachen darf - wie z.B. die FAT oder Verzeichnisse. 
Änderungen daran wird es zwar, um Datenverlust zu vermeiden, so schnell 
wie möglich auf den USB-Stick schreiben, aber warum sollte es vorher 
seinen Cacheinhalt mit den auf dem Stick zwischenzeitlich hinterrücks 
geänderten Daten verifiziren?

> aber ich vermute, die funktionieren nur in eine Richtung (Kamera
> schreibt, Smartphone liest).

Nein, die funktionieren auch weitergehend, Smartphone/PC liest *und 
löscht*.

von Frank (Gast)


Lesenswert?

Überlegung: Wo ein USB-Stick finktioniert, funktioniert oft (nicht 
immer) auch eine USB-Festplatte.

Es gibt NAS-Geräte, die als NAS per Netzwerk funktionieren und parallel 
dazu den Zugriff per USB gestatten ... mal suchen und ausprobieren!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Frank schrieb:
> Es gibt NAS-Geräte, die als NAS per Netzwerk funktionieren und parallel
> dazu den Zugriff per USB gestatten

Ganz sicher nicht gleichzeitig, aus den bereits genannten Gründen.

von Walter T. (nicolas)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Das ist zwar richtig, aber das bedeutet nicht, daß das Gerät nicht Teile
> des Dateisystems cachen darf - wie z.B. die FAT oder Verzeichnisse.
> Änderungen daran wird es zwar, um Datenverlust zu vermeiden, so schnell
> wie möglich auf den USB-Stick schreiben, aber warum sollte es vorher
> seinen Cacheinhalt mit den auf dem Stick zwischenzeitlich hinterrücks
> geänderten Daten verifiziren?

Rufus Τ. Firefly schrieb:
> Ganz sicher nicht gleichzeitig, aus den bereits genannten Gründen.

Wie gesagt: "gleichzeitig" ist ja auch keine Forderung:

Walter Tarpan schrieb:
> [...] Und es spricht nichts dagegen,
> wenn sich die "USB-Stick-Seite" vom Host abmeldet (Pull-up entfernen),
> sobald die "LAN-Seite" eine Schreiboperation verlangt.

Es würde für die Funktion keinen Nachteil haben, wenn sich der USB-Stick 
vor der netzwerkseitigen Schreiboperation vom Gerät abmeldet ("Hoppla, 
ich wurde herausgezogen") und nach dem Ende der netzwerkseitigen 
Schreiboperation wieder anmeldet ("Huhu, da bin ich wieder! Du kannst 
die FAT wieder neu einlesen!").

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Walter Tarpan schrieb:
> Es würde für die Funktion keinen Nachteil haben, wenn sich der USB-Stick
> vor der netzwerkseitigen Schreiboperation vom Gerät abmeldet

Aber nur, wenn der USB-Host garantiert nie schreibt. Denn die 
Netzwerkseite kann nicht feststellen, daß der USB-Host mit einer 
Schreiboperation tatsächlich fertig ist.

Allenfalls über ein sehr großzügig dimensioniertes Timeout (nach der 
letzten Schreiboperation des USB-Host) ließe sich das erreichen, aber 
auch dann nicht sicher.

Dazu kommt, daß sicherlich nicht jeder USB-Host glücklich darüber sein 
dürfte, wenn ihm während eines aktiven Lesevorganges der USB-Stick 
"geklaut" wird.

Sicher, auch hier kann mit entsprechenden Timeouts gearbeitet werden, 
aber das macht die Netzwerkseite nicht gerade ... dynamisch.

Nimmt man als Beispielgerät einen mp3-Player, der vom USB-Stick 
Audiodateien abspielt, dann wird der Timeoutmechanismus auch nicht 
zielführend sein, denn der mp3-Player liest dauerhaft ... mit recht 
geringer Datenrate. Und damit käme bei aktiver mp3-Wiedergabe die 
Netzwerkseite nie zum Zuge.

von Walter T. (nicolas)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Dazu kommt, daß sicherlich nicht jeder USB-Host glücklich darüber sein
> dürfte, wenn ihm während eines aktiven Lesevorganges der USB-Stick
> "geklaut" wird.

Stimmt. Nicht jeder. Aber dieser Host liest und schreibt Daten nur dann, 
wenn man es ihm sagt. Wie ich oben schrieb, handelt es sich um ein 
Meßgerät. Es kann Konfigurationsdaten vom USB-Stick lesen und 
Speicher-Dumps auf den Stick schreiben - aber das macht es nur, wenn der 
Benutzer das aktiv veranlaßt.

: Bearbeitet durch User
von 123 (Gast)


Lesenswert?

So habt ihr euch das sandisk teil angeschaut?

USB ist ja bekanntlich er weise hot plug fähig. Der host sollte mit 
verschwindenden devices umgehen können. Entsprechend sollte auch der 
Dateisystem Zugriff so aussehen, das das Dateisystem nach jedem step 
noch brauchbar ist. Tote Verkettungen sid da zu tollerieren, da nicht zu 
vermeidbar.

Außerdem könnte man ja auch ein art Disketten Laufwerk an usb 
simulieren. Nur das medium wird entnommen. So wie bei einem sd-karten 
leser.  Ist nur die Frage ob der host das alles mitmacht. Was nach usb 
und massstorage alles erlaubt ist.

von stefanus (Gast)


Lesenswert?

Du darfst bei allen aktuellen Betriebsystemen das Medium erst entnehmen, 
wenn es von Betriebsystem freigegeben wurde. Das ist bei Disketten nicht 
anders, als bei USB Sticks oder SD Karten.

Bei DOS entfiel dieses Freigeben, da das BIOS keinen Cache hatte. 
Schreibzugriffe wurden immer sofort durchgeführt und bei jedem 
Dateizugriff (öffnen) wurde das Inhaltsverzeichnis erneut gelesen.

von 123 (Gast)


Lesenswert?

Nu ja windoof cacht bei usb stiks nicht. Bzw nicht mehr beim schreiben. 
War früher anders aber seit XP nicht mehr. Nennt sich optimiert für 
schnelles entfernen. Und die Funktionen die der key implementieren muss, 
damit das abmelden unter W7 funktioniert sind optional in der masstorage 
Spezifikation.

Und mal ehrlich wer meldet den usb key ab bevor er ihn trennt?

Gruss

von stefanus (Gast)


Lesenswert?

Ich mach das immer. Aus wiederholtem Datenverlust lernt man halt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.