USB2.0 / Firewire Ctrl. unter FBSD

crotchmaster

happy BSD user
Moin alle zusammen,

hat jemand hier im Forum Erfahrungen mit USB 2.0 / Firewire Combicontrollern?

Ich beabsichtige, mir so ein Teil zuzulegen und es muss auch unter FreeBSD 4.8 laufen und nicht nur unter Mickeysoft.

Leider lassen sich Adaptec, Advance und Dawicontrol in ihren Produktbeschreibungen nicht bzw. kaum über die verwendeten Chipsätze aus.

Für Tipps bin ich sehr dankbar.

Gruß crotchmaster
 
Hab nochmal gegooglet!

Hi,

Danke für Deine Antwort.

Komisch, jetzt habe ich mit einem mal doch noch ein paar Infos gefunden.

Das DuoMedia-Teil von Dawicontrol verwendet für den Firewire-Part einen Via VT6306 und für den USB2.0-Part einen uPD720100A von NEC. Das Via-Gerät wird von FreeBSD 4.8 und 5.1 unterstützt, das NEC-Teil wohl nicht. :(

Beim Durchsehen der Hardwarenotes von FreeBSD 5.1 habe ich etwas von 'USB 2.0 controllers using the EHCI interface ( ehci(4) driver)'. Ich kann lesen, aber bedeutet das tatsächlich, das alle ehci-compatiblen Controller unterstützt werden? Nach der Produktinfo von Advance soll deren Controller ja ehci-compatibel sein.

Veilleicht sollte ich die Gurke doch auf 5.1 updaten und danach mal so ein Advance Teil ausprobieren.

Gruß crotchmaster
 
Ich kann lesen, aber bedeutet das tatsächlich, das alle ehci-compatiblen Controller unterstützt werden?
Zumindest tut er das auf meinem VIA EPIA-M Board. Ich hab zwar keine USB-2 Geräte, aber der Controller wird erkannt und initialisiert.
 
Hallo,

kurzer Lagebericht. Ich habe mir so ein Advance USB 2.0 / Firewire Combicontroller-Teil zugelegt. Unter 4.8 war nix mit dem USB 2.0 part anzufangen. Ich habe meine Büchse inzwischen auf 5.1 upgedatet. Der ohci-Treiber des GENERIC-Kernels erkannte schon die USB-Hubs und den daran angeschlossenen Scanner. Nach dem Bau eines Kernels mit 'device ehci', wurden auch die USB2.0 Hubs und der Scanner als USB 2.0-Teil erkannt.

Gruß crotchmaster
 
@crotchmaster

Funktionieren denn die USB2.0-Geräte auch???

Würde mich sehr interessieren, denn leider hab ich noch mit keinem Controller ein USB2.0 Gerät sinnvoll ans Laufen bringen können.

Gruß,

Ice
 
Servus,

unter FreeBSD 5.2.1 lief mein Via USB2 Chipsatz mit dem Ehci Treiber als "Generic". Das kann einem schon Angst machen. Nach einem Update auf 5.3 Beta1 wird auch der USB2 Via Chip mittels ehci richtig erkannt. Die Festplatte rennt eigentlich ganz gut.

Mit Firewire wirst du (zumindest unter 5.3) die wenigsten Probleme haben!

Code:
man fwohci

wird dein Freund sein. Hab mir heute selbst eine Firewire Karte mit einem Via Chip geholt.

kldload firewire sagt:
fwohci0: <VIA Fire II (VT6306)> port 0xe800-0xe87f mem 0xdffff800-0xdfffffff irq 18 at device 7.0 on pci0
fwohci0: [GIANT-LOCKED]
fwohci0: OHCI version 1.0 (ROM=1)
fwohci0: No. of Isochronous channels is 8.
fwohci0: EUI64 00:11:06:00:00:00:61:ab
fwohci0: Phy 1394a available S400, 3 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
fwohci0: Initiate bus reset
fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
firewire0: bus manager 0 (me)

Ausprobieren, ob firewire WIRKLICH geht konnte ich noch nicht, da mein Ipod noch nicht da ist :zitter:

carb
 
Thx carbuncle,

Firewire funzte bei mir bisher immer total genial. Nur leider hab ich in meinem Laptop kein Firewire, wohl aber USB2.0.
Sicherlich könnte ich mir eine PCMCIA FW Karte besorgen, aber wenn USB2.0 laufen würde, könnte ich mir das getrost sparen.
Ich werde also dann wohl in meine 5.3 BETA3 mal nochmal ehci einbauen und erneut testen.

Thx,

Ice
 
Zuletzt bearbeitet:
Habe jetzt mal den ehci Treiber in den Kernel der 5.3 BETA 3 eingabaut und mein USB-Controller wird jetzt auch völlig richtig erkannt:
Code:
ohci0: <NEC uPD 9210 USB controller> mem 0x40180000-0x40180fff irq 10 at device 14.0 on pci2
ohci0: [GIANT-LOCKED]
usb0: <NEC uPD 9210 USB controller> on ohci0
ohci1: <NEC uPD 9210 USB controller> mem 0x40200000-0x40200fff at device 14.1 on pci2
ohci1: [GIANT-LOCKED]
usb1: <NEC uPD 9210 USB controller> on ohci1
ehci0: <NEC uPD 720100 USB 2.0 controller> mem 0x40280000-0x402800ff irq 10 at device 14.2 on pci2
ehci0: [GIANT-LOCKED]
ehci_pci_attach: companion usb0
ehci_pci_attach: companion usb1
usb2: <NEC uPD 720100 USB 2.0 controller> on ehci0
Leider werden aber "alle" Geräte, die ich anschließe ausschließlich als USB1.0 erkannt (hier mein USB-Stick als Beispiel, bei einer externen HDD verhält es sich genauso, usw.):
Code:
umass0: USB Flash Disk, rev 2.00/2.00, addr 2
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <JetFlash TS256MJF2B 2.00> Removable Direct Access SCSI-2 device 
da0: 1.000MB/s transfers
da0: 250MB (512000 512 byte sectors: 64H 32S/T 250C)
Kann man dieses Verhalten noch irgendwo beeinflussen?
Ich finde es ja schon klasse, dass der Treiber jetzt erstmal stabil zu sein scheint, auch wenn die Erkennung nicht wirklcih funktioniert. Bis vor Kurzem hat sich der EHCI-Treiber auf jedem System das ich getestet habe, beim Anschluss eines Gerätes immer weggehängt.
Vielleicht hat ja jemand hier etwas mehr Ahnung vun USB und kann mir da ein bischen unter die Arme greifen?! ;)

Thx,

Ice
 
Dein Memory Stick muss natürlich USB2 unterstützen. Ich gehe mal davon aus, du wunderst dich über die Ausgabe:

da0: 1.000MB/s transfers

Das steht bei meiner USB2 Harddisk auch, nur sagt mir mc, dass er die Daten so mit 4MB/s rüberschaufelt. Es fühlt sich also um längen schneller an als USB1.


carb
 
@carbuncle

LOL, der USB-Stick unterstützt USB2.0 natürlich! ;)
Ja, genau über diese Zeile hatte ich mich gewundert. Werde mir doch mal ein par iostat-Werte reinziehn und mal beobachten, ob da vielleicht ja mehr dahinter steckt als USB1.... *hoff*

@crotchmaster

Die Geräte, die ich angeschlossen habe funktionieren auch alle - ich fürchte bisher eben nur mit USB1. Muss mal den Durchsatz wirklcih testen

@all

Thx für die Antworten! ;)
 
crotchmaster schrieb:
Das DuoMedia-Teil von Dawicontrol verwendet für den Firewire-Part einen Via VT6306 und für den USB2.0-Part einen uPD720100A von NEC. Das Via-Gerät wird von FreeBSD 4.8 und 5.1 unterstützt, das NEC-Teil wohl nicht. :(

Ich kann bestaetigen, dass Firewire mit dem von dir genannten VIA VT6306 sehr gut funktioniert. man fwohci nennt die Chipsaetze, die unter FreeBSD funktionieren. Vorsicht bei Lucent Chipsaetzen. Die funktionieren, aus welchen Gruenden auch immer, nicht richtig mit FreeBSD.
 
Ich hab hier grad festgestellt, dass irgendwie meine externe 60GB Platte nach ein paar sek einfach aussetzt. MC sagt, er kopiert noch, aber das Licht leuchtet nicht mehr. Wenn ich dann den mc mit kill -9 abschiessen will, gehts nicht.

Danach startet er neu, also irgendwann mal! Oh mann, ich hoffe das ist in der stable weg, sonst stimmt irgendwas mit der Platte nicht :(

Hat jemand sowas schonmal gemacht?

Der Chip im Gehäuse ist von Cypress Semiconductor, die Verbindung USB2

carb
 
Hi

Leider hab ich selbst auch keine Lösung für die Probleme, dafür aber selbst welche. Ich hab ein Asus P4B533 Motherboard und möchte gerne USB2.0 nutzen. Der Controller kann 2.0, ist von NEC. steht zumindest wenn ich danach google. Ein dmesg | grep usb aber sagt, der Controller wäre ein "Intel 82801DB".
Nun das Problem ist, dass ich definitiv nur mit USB1.1 arbeiten kann, hab ich getestet.
Muss ich da auch irgendwelche Sachen in den Kernel bauen, damit das Ganze klappt? Bei meinem Glück geht USB2.0 mit diesem Controller unter FBSD gar nicht ;'(

Thx
 
Zuletzt bearbeitet:
@martin

Du musst folgenden Eintrag in den Kernel aufnehmen:

device ehci

und dann den Kernel neu bauen und installieren.

Gruß,

Ice

P.S.: Achja, welche BSD-Version??????????????????
 
-danke aber das funzt nicht. Beim Verusch meinen USB2.0 Stick einzustöpseln kommt folgende Meldung;

usb3: unrecoverable error, controller halted
usb3: blocking intrs0x10
usb3: port reset timeout

Ich hab's geahnt, bei mir geht's natürlich nicht!!

Achso... FreeBSD 5.2.1 hab ich
 
@martin

Das ist genau der Fehler, den ich ich weiter oben angesprochen hatte. Wie es scheint ist der EHCI-Treiber erst in der 5.3 BETA soweit verbessert worden, dass er jetzt einigermaßen "stabil" funzt.

Gruß,

Ice
 
Achso, sorry hab ich überlesen. Naja jedenfalls ist es bei mir nicht soooo dringend, werde also auf die 5.3 Release (oder STABLE?) warten und es dann nochmal probieren.

Danke
 
Habe jetzt mal einiges an Daten auf die HDD an USB2.0 und ebenfalls auf den USB-Stick geschoben.
iostat sagt mir dazu, dass der Transfer jeweils mit ~10MB/s verlaufen ist.
Cool, das ist ja auf jeden Fall schon deutlich schneller als USB1.
Mich wundert allerdings, dass es sich bei beiden Geräten genau auf 10MB/s einpendelt. Kann es sein, dass der EHCI-Treiber inzwischen zwar recht stabil, aber dafür noch nicht mit voller Performance läuft?

Gruß,

Ice

P.S.: Ich bin übrigens mit den 10MB/s schon total happy! ;)
 
Die Rate hab ich auch ungefähr! Ich habe heute meinen Ipod 15GB :D:D:D bekommen. Wenn ich den in meinen FireWire stecke, sagt mir dieser 50 MB/s! Ich sag euch, Firewire ist absolut geil.

Krass ist, dass er mir dann auch sagt "Tagged Queueing enabled". Ist das ein SCSI Protokoll ???


carb
 
Ice schrieb:
@martin

Das ist genau der Fehler, den ich ich weiter oben angesprochen hatte. Wie es scheint ist der EHCI-Treiber erst in der 5.3 BETA soweit verbessert worden, dass er jetzt einigermaßen "stabil" funzt.

Ice

Er mag mit einigen bestimmten Controllern/Geraeten laufen. Insbesondere in Verbindung mit umass wuerde ich da eher abraten, auf sowas irgendwelche Loesung aufzubauen. Ich habe jetzt ca. eine Woche lang intensiv verschiedene USB Controller und umass Devices (externe Laufwerke, USB Sticks usw.) getestet. Das Ergebnis ist absolut niederschmetternd. Mit uhci laeufts ja noch vertretbar, bleibt aber sehr oft auch einfach nur haengen. Man muss das Geraet nur bissel stressen mit konkurrierenden Read/Writes. Unplug im Betrieb fuehrt ganz haeufig einfach nur direkt in irgendeine Panic. Manchmal bleibt es aber auch einfach nur so stehen (== kill -9 erfolglos).
Noch grauseliger ists beim ehci. Da geht jeder 2. Controller gleich gar nicht und ich kann fast alle getesteten Karten direkt einfach nur mit bissel IO ausm Tritt bringen.

Ohne mich jetzt hier in eine Auflistung einzelner Modelle zu ergiessen: Umass Devices werden nach meiner Einschaetzung auch unter 5.3 noch eine wackelige Angelegenheit sein. EHCI ist weiter experimentell (das musste man nicht testen, das kann man nachlesen). Fuer die private Kiste kann mans probieren ob man Glueck hat, aber wem seine Daten wichtig sind, der klebt die USB Ports am besten zu ;-) Wers nicht glaubt, den komm ich mal mit meinem "crasht garantiert immer" usb Stick besuchen ;-)

Firewire laeuft hingegen absolut genial und stabil im Test mit mehreren externen Laufwerken. Ich musste in einigen Faellen das tagged queuing ruhig stellen, wie in der manpage beschrieben: camcontrol tags da[?] -N 1, siehe sbp(4), weil ich da auch nach einigen Fehlermeldungen in eine panic geflogen bin.

Fazit: Man darf sich bei FreeBSD 5.3 auf ein prima stabiles SBP freuen. Auf stabil laufende umass Devices, insbesondere am USB2, ganz sicher nicht. Angesichts der Uebertragungsraten finde ich das aber auch gar nicht aergerlich. Im direkten Vergleich mal so als Hausnummer:

MAP-H51x externes Laufwerksgehaeuse, dual USB2 und Firewire, mit Genesys Chip (whatever): Lesen USB2: ca. 6MB/s. Lesen IE1394: ca. 15MB/s

Und beim Schreiben siehts aehnlich aus. Da sitzt mir das Geld fuer einen Cardbus IE1394 Controller doch schon deutlich lockerer, wenn ich das sehe.

Gruss
 
@fader

Klasse. Danke für den Erfahrungsbericht. Habe hier auf 2 Systemen mit dem EHCI rumgespielt und hatte bei rsync auf externe Festplatte keine Probleme und eigentlich auch eine ganz gute Performance.
Für den Einsatz im Produktionsbetrieb würde ich es aber auch nicht nutzen.
Habe hier bei Kunden eine Backup-Lösung auf Firewire-HDDs anstelle von Bändern und das läuft richtig genial. Performance Schreiben IE1394 ca. 25MB/s mit MAP-KC31-C1 (Oxford Chipsatz)

Gruß,

Ice

EDIT:

Wollte noch hinzufügen, dass IEEE 1394 zwar wirklich recht unproblematisch ist, dass es aber sehr stark auf den eingesetzten Chipsatz ankommt. Oxford 911 und Genesys laufen recht unproblematisch, währen so mancher "no name" Chip dann schon zu enormen Problemen führen kann. Das ist mir z.B. passiert mit dem externen Gehäuse "Icy Box".
 
Zuletzt bearbeitet:
Firewire läuft bei mir top.
In meinem Laptop (Asus M2400N) habe ich einen Ricoh Co Ltd R5C552 IEEE 1394 (lt. scanpci, pciconf meldet: RL5c552 FireWire (IEEE1394) Controller. IBM A31p),
in Server baue ich zwecks einfachem Backup Via VT6306 ein (pciconf: VT6306 VIA Fire II IEEE-1394 OHCI Link Layer Controller)
Beide Controller laufen super.
Im Laptop hab ich außerdem USB 2.0 (Intel 82801DB/DBM (ICH4/M) USB EHCI Controller), das aber nicht funktioniert.
Es kam sogar vor, daß FreeBSD 5.2.1 nicht gebootet hat, wenn ich "device ehci" in meine Kernel-Conf eingetragen habe.
Das USB (UHCI) funktioniert tadellos, ist aber leider sehr langsam.

Gruss....

Der Indy
 
Zurück
Oben