[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

OT: [?] USB Timing Probleme?



Hallo Liste,

nicht ganz Debian-Spezifisch (denke ich), daher das OT.

Ich habe hier zwei Rechner, einer ist ein Laptop mit Intel 440ZX /
PIIIM-700, der andere ein Athlon 1200C mit SIS-Chipset. Soweit alles
schön. Dazu habe ich einen Sony Clie SJ30 (Palm-Handheld), den ich
mittels der berüchtigten pilot-link/gnome-pilot-Kombi mit Evolution
abgleiche. Softwareseitig geht das gut, bis auf folgendes Problem:
Der Connect zwischen Handheld und Laptop kommt nur sehr selten zu
standen, nämlich scheinbar immer dann, wenn ich das richtige
"Finger-Timing" treff. D.h. wenn ich das sync-Kommando (pilot-xfer oder
gpilotd) auf dem Laptop zu einem ganz bestimmten Zeitpunkt kurz nach dem
aktivieren des Hotsyncs auf dem Clie starte. Diese Reihenfolge muss auch
so sein, weil durch den Hotsync vom Clie aus überhaupt erst das
entsprechende USB-Device /dev/ttyUSB1 erzeugt wird. Soweit auch gut. Nur
leider funktioniert mein "Finger-Timing" absolut bescheiden, meine
innere Millisekunden-Uhr ist einfach nicht wirklich genau genug ;-(
Folge: 99 mal geht es NICHT, ein mal geht es. Nervig. 

Nun habe ich mal ein bissel gespielt und festgestellt, dass:
1) auf dem SIS-Rechner mit usb-Ohci-Modul  UND 
2) auf dem Laptop mit uhci (JE Alternative) Modul
der Connect _IMMER_ klappt, ABER
3) auf dem Laptop mit dem "standard" usb-Uhci - Modul 99:1 nicht klappt.

Beide Rechner laufen mit Stock-2.4.20 von Kernel.org. Bis auf das
notwendige uhci vs. ohci sowie NIC, Framebuffer, SCSI und IDE sonst
nahezu identisch konfiguriert. 

lspci gibt für den betroffenen Laptop:
00:00.0 Host bridge: Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge (rev
03)
00:01.0 PCI bridge: Intel Corp. 440BX/ZX - 82443BX/ZX AGP bridge (rev
03)
00:04.0 CardBus bridge: Texas Instruments PCI1420
00:04.1 CardBus bridge: Texas Instruments PCI1420
00:07.0 ISA bridge: Intel Corp. 82371AB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corp. 82371AB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corp. 82371AB PIIX4 ACPI (rev 03)
00:08.0 Multimedia audio controller: ESS Technology ES1988 Allegro-1
(rev 12)
00:08.1 Communication controller: ESS Technology ESS Modem (rev 12)
00:10.0 Ethernet controller: Accton Technology Corporation EN-1216
Ethernet Adapter (rev 11)
01:01.0 VGA compatible controller: S3 Inc. 86C270-294 Savage/IX-MV (rev
11)

Also: usb-ohci und uhci scheinen kein Problem zu haben, usb-uhci
hingegen schon. Das zeigt sich scheinbar auch in /var/log/messages. Hier
mal zwei Auszüge:

MIT USB-UHCI (FEHLERHAFTES VERHALTEN):
-----
Nov 25 19:06:40 carryme kernel: hub.c: new USB device 00:07.2-2,
assigned address 5
Nov 25 19:06:40 carryme kernel: Manufacturer: Palm, Inc.
Nov 25 19:06:40 carryme kernel: Product: Palm Handheld
Nov 25 19:06:40 carryme kernel: usbserial.c: Handspring Visor / Palm 4.0
/ Clié 4.x converter detected
Nov 25 19:06:40 carryme kernel: visor.c: Handspring Visor / Palm 4.0 /
Clié 4.x: Number of ports: 2
Nov 25 19:06:40 carryme kernel: visor.c: Handspring Visor / Palm 4.0 /
Clié 4.x: port 1, is for Generic use and is bound to ttyUSB0
Nov 25 19:06:40 carryme kernel: visor.c: Handspring Visor / Palm 4.0 /
Clié 4.x: port 2, is for HotSync use and is bound to ttyUSB1
Nov 25 19:06:40 carryme kernel: usb-uhci.c: interrupt, status 2, frame#
1137
Nov 25 19:06:43 carryme kernel: usb_control/bulk_msg: timeout
Nov 25 19:06:46 carryme kernel: usb_control/bulk_msg: timeout
Nov 25 19:06:46 carryme kernel: usbserial.c: Handspring Visor / Palm 4.0
/ Clié 4.x converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
Nov 25 19:06:46 carryme kernel: usbserial.c: Handspring Visor / Palm 4.0
/ Clié 4.x converter now attached to ttyUSB1 (or usb/tts/1 for devfs)
Nov 25 19:06:54 carryme kernel: usb-uhci.c: interrupt, status 2, frame#
838
Nov 25 19:06:57 carryme kernel: usb_control/bulk_msg: timeout
Nov 25 19:06:58 carryme kernel: usb.c: USB disconnect on device
00:07.2-2 address 5
Nov 25 19:06:58 carryme kernel: usbserial.c: Handspring Visor / Palm 4.0
/ Clié 4.x converter now disconnected from ttyUSB0
Nov 25 19:06:58 carryme kernel: usbserial.c: Handspring Visor / Palm 4.0
/ Clié 4.x converter now disconnected from ttyUSB1
------

UND HIER MIT UHCI (JE Alternative Driver), KEINE PROBLEME
------
Nov 25 19:21:20 carryme kernel: hub.c: new USB device 00:07.2-2,
assigned address 4
Nov 25 19:21:20 carryme kernel: Manufacturer: Palm, Inc.
Nov 25 19:21:20 carryme kernel: Product: Palm Handheld
Nov 25 19:21:20 carryme kernel: usbserial.c: Handspring Visor / Palm 4.0
/ Clié 4.x converter detected
Nov 25 19:21:20 carryme kernel: visor.c: Handspring Visor / Palm 4.0 /
Clié 4.x: Number of ports: 2
Nov 25 19:21:20 carryme kernel: visor.c: Handspring Visor / Palm 4.0 /
Clié 4.x: port 1, is for Generic use and is bound to ttyUSB0
Nov 25 19:21:20 carryme kernel: visor.c: Handspring Visor / Palm 4.0 /
Clié 4.x: port 2, is for HotSync use and is bound to ttyUSB1
Nov 25 19:21:20 carryme kernel: usbserial.c: Handspring Visor / Palm 4.0
/ Clié 4.x converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
Nov 25 19:21:20 carryme kernel: usbserial.c: Handspring Visor / Palm 4.0
/ Clié 4.x converter now attached to ttyUSB1 (or usb/tts/1 for devfs)
Nov 25 19:21:30 carryme kernel: usb.c: USB disconnect on device
00:07.2-2 address 4
Nov 25 19:21:30 carryme kernel: usbserial.c: Handspring Visor / Palm 4.0
/ Clié 4.x converter now disconnected from ttyUSB0
Nov 25 19:21:30 carryme kernel: usbserial.c: Handspring Visor / Palm 4.0
/ Clié 4.x converter now disconnected from ttyUSB1

-------

Der einzige Unterschied zwischen beiden sind drei Zeilen, die im ersten
Fall zwei mal auftreten, nämlich:

-------
Nov 25 19:06:40 carryme kernel: usb-uhci.c: interrupt, status 2, frame#
1137
Nov 25 19:06:43 carryme kernel: usb_control/bulk_msg: timeout
Nov 25 19:06:46 carryme kernel: usb_control/bulk_msg: timeout
-------

Natürlich habe ich dazu fleißig das Goorakel befragt, und die
Googel-Kugel hat auch massig Hits für das timeout geliefert, aber leider
nur Fragen, keine wirklich helfenden Antworten. Einzig ein paar Hinweise
deuteten auf BIOS-Optionen für das USB hin, doch leider bietet mein
Laptop keine derartigen.

Nun könnt ihr sagen: Junge, dann nimm doch einfach das einfache
uhci-Modul. Würde ich machen, aber ich brauche VMware, und die will USB
nur mit usb-uhci oder -ohci, nicht aber plain uhci (JE Alternative).

So, uff, wieder viel zu lang, sorry, aber hoffentlich spart es ein paar
Rückfragen. Wäre nett wenn mir jemand seine Geistesblitze zum Thema
usb-uhci mitteilen könnte.

Gruß
Lars

-- 
LarsWeissflog
L@rs-W dot DE




Reply to: