# [gelöst]SonyEricssonK800 funktioniert nicht mehr USB [udev]

## hitachi

Hallo,

ich habe mal wieder ein Problem, bei dem ich Hilfe suche. Ich will mein SonyEricssonK800 an meine gentoo Box anschließen um auf die Bilder und Töne zugreifen zu können. Leider geht das nicht mehr. Ich habe das Problem nur unter dem 2.6.25-gentoo-r6 Kernel. Beim 2.6.24-gentoo-r8 funktioniert es ohne Probleme. Nach diesem Beitrag: https://forums.gentoo.org/viewtopic-t-693422-highlight-sony.html habe ich

```
-> Device Drivers

    -> SCSI device support

        [*] Probe all LUNs on each SCSI device
```

Eingearbeitet und reboot. Kein Erfolg. Dann habe ich den Vorschlag von hier: https://forums.gentoo.org/viewtopic-t-630449-highlight-sony.html zu Herzen genommen.

```
<*> SCSI generic support

 <*> SCSI media changer support
```

reboot. Hat mir aber leider auch nicht geholfen. Das Problem ist: ich kann nicht mounten. Beim alten Kernel geht das. Jetzt bekomme ich folgendes:

```
mount /mnt/sek800i/
```

 *Quote:*   

> mount: Kein Medium gefunden

 Ich habe dafür auch eine udev Regel:

```
vim /etc/udev/rules.d/10-udev.rules
```

 *Quote:*   

> BUS=="usb", ATTRS{serial}=="3547160198371480", ATTRS{idProduct}=="e039", NAME="sek800i"

 

```
dmesq
```

 *Quote:*   

> usb 1-4.3: new full speed USB device using ehci_hcd and address 10
> 
> usb 1-4.3: configuration #2 chosen from 1 choice
> 
> usb 1-4.3: New USB device found, idVendor=0fce, idProduct=e039
> ...

 Hat da jemand eine Idee? Es scheint mir, dass versucht wir, die nicht vorhandene Speicherkarte an Stelle des telefoninternen Speichers zu mounten. Wieso ist das im Zusammenhang mit dem neuen Kernel?

[edit]

Ich habe gerade festgestellt, dass ich das Problem wieder auf udev zurück führen kann. Wenn ich die oben genannte Regel auskommentiere, neu boote bekomme ich folgendes:

```
dmesg
```

 *Quote:*   

> usb 1-4.3: new full speed USB device using ehci_hcd and address 4
> 
> usb 1-4.3: configuration #3 chosen from 1 choice
> 
> usb 1-4.3: New USB device found, idVendor=0fce, idProduct=d039
> ...

 Netterweise wird mir bei einem ls /dev/u* /dev/ubb1 nicht angezeigt. Mounten kann ich es dennoch. uba scheint der M2-Karten-Schlitz für den Memory Stick zu sein. ubb wird mir angezeigt, kann aber nicht gemountet werden. *Quote:*   

> mount: you must specify the filesystem type

 Wie muss ich die udev-Regel anpassen, damit es wieder einfach funktioniert?

[/edit]Last edited by hitachi on Wed Jul 30, 2008 7:39 am; edited 1 time in total

----------

## attix

Nagel mich nicht drauf fest,

aber ich denke, in deiner udev-Regel fehlt einfach

```
KERNEL=="ub*"
```

oder täusch ich mich?

MfG

----------

## ChrisJumper

hitachi,

hat das den vorher funktioniert und jetzt nicht mehr?

Ich hab so ein Handy nicht und kann es nicht ausprobieren. Also das entspr. Dateisystem solltest du schon im Kernel haben.

Wenn das alles vorher Funktioniert hatte und du auch normale Fat32-Usb-Sticks mounten kannst und jetzt der Treiber (aus welchem Grund auch immer) nur die zwei Teile vertauschen und du NICHT den Memory-Stick mounten willst.

Würde ich lediglich die Product-ID ändern:

```
BUS=="usb", ATTRS{serial}=="3547160198371480", ATTRS{idProduct}=="d039", NAME="sek800i"
```

Weil e039 doch der Memory-Stick ist. 

```
usb 1-4.3: new full speed USB device using ehci_hcd and address 5 

usb 1-4.3: configuration #2 chosen from 1 choice

usb 1-4.3: New USB device found, idVendor=0fce, idProduct=e039

usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3

usb 1-4.3: Product: Memory Stick

usb 1-4.3: Manufacturer: Sony Ericsson

usb 1-4.3: SerialNumber: 3547160198371480

```

Und d039 dann der Telefoninterne Speicher?!

```
usb 1-4.3: new full speed USB device using ehci_hcd and address 4

usb 1-4.3: configuration #3 chosen from 1 choice

usb 1-4.3: New USB device found, idVendor=0fce, idProduct=d039

usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3

usb 1-4.3: Product: Sony Ericsson K800

usb 1-4.3: Manufacturer: Sony Ericsson

usb 1-4.3: SerialNumber: 3547160198371480

usb 1-4.3: USB disconnect, address 4 

```

Aber was genau war das was du nicht mounten konntest? Die Speicherkarte (weil nicht vorhanden)? Dieses Zitat hat mich verwirrt.

 *Quote:*   

>  Mounten kann ich es dennoch. uba scheint der M2-Karten-Schlitz für den Memory Stick zu sein. ubb wird mir angezeigt, kann aber nicht gemountet werden.

 

Evtl ist /dev/uba nicht da weil es /dev/sek800i heißt und udav das vertauscht hat wegen der falschen Prodact-Id.

(Bin in udev-Dingen nicht so bewandert.)

----------

## firefly

schmeiss diese option raus, falls gesetzt:

 Symbol: BLK_DEV_UB [=n]                                                 │  

  │ Prompt: Low Performance USB Block driver                                │  

  │   Defined at drivers/block/Kconfig:301    

  │   Depends on: BLK_DEV && USB

  │   Location:    

  │     -> Device Drivers                                                  

  │       -> Block devices (BLK_DEV [=y])

und ich hoffe du hast usb-storage im kernel aktiviert

----------

## hitachi

 *ChrisJumper wrote:*   

> 
> 
> Würde ich lediglich die Product-ID ändern:
> 
> ```
> ...

 

Hallo, das habe ich gerade mal als erstes versucht. Leider funktioniert das nicht.

```
mount /mnt/sek800i/
```

 *Quote:*   

> mount: Gerätedatei /dev/sek800i existiert nicht

 

```
dmesg
```

 *Quote:*   

> usb 1-4.3: new full speed USB device using ehci_hcd and address 4
> 
> usb 1-4.3: configuration #3 chosen from 1 choice
> 
> usb 1-4.3: New USB device found, idVendor=0fce, idProduct=d039
> ...

 

Hier fehlt auch am Schluss so etwas wie ubb: ubb1 wenn ich die udev Regel nicht verwende.

 *ChrisJumper wrote:*   

> hat das den vorher funktioniert und jetzt nicht mehr?

 

Also unter meinem alten Kernel hat es mit der alten udev Regel funktioniert. Ich habe den Kernel mit der make oldconfig Variante aktualisiert. An den FAT Sachen oder so im Kernel liegt es glaube ich eher nicht, da ich es ja ohne udev Regel schaffe den Telefonspeicher zu monten. Da hatte ich mich ungünstig ausgedrückt. (Ohne udev Regel:) uba und ubb wurde mir zwar mit einem ls /dev/u* angezeigt, ich konnte aber beides nicht mounten. /dev/ubb1 wurde mir dabei nicht angezeigt, das konnte ich aber mounten. Damit war ich dann "im" Telefon.

 *attix wrote:*   

> Nagel mich nicht drauf fest,
> 
> aber ich denke, in deiner udev-Regel fehlt einfach
> 
> Code:
> ...

 

Ich würde eigentlich KERNEL lieber nicht benutzen, da das bei mir immer wieder wechselt (früher war es zb sd*). Die Seriennummer und die idProduct sind ja nicht veränderbar.

 *firefly wrote:*   

> schmeiss diese option raus, falls gesetzt:
> 
> Symbol: BLK_DEV_UB [=n] │ 

 

Habe ich gerade geändert. Werde jetzt mal neu starten.

----------

## firefly

 *hitachi wrote:*   

> 
> 
> Ich würde eigentlich KERNEL lieber nicht benutzen, da das bei mir immer wieder wechselt (früher war es zb sd*). Die Seriennummer und die idProduct sind ja nicht veränderbar.
> 
> 

 

ohne die Kernel-zeile weis udev nicht welches device er umbenennen soll(bei deiner Regel). Und was ist am KERNEL=="sd*" so schlimm?

----------

## hitachi

Ich habe gerade neu gestartet, ohne BLK_DEV_UB, mit udev Regel:

```
mount /mnt/sek800i/
```

 *Quote:*   

> mount: Gerätedatei /dev/sek800i existiert nicht

 

```
dmesg
```

 *Quote:*   

> usb 1-4.3: new full speed USB device using ehci_hcd and address 4
> 
> usb 1-4.3: configuration #3 chosen from 1 choice
> 
> usb 1-4.3: New USB device found, idVendor=0fce, idProduct=d039
> ...

 Bei ls /dev/u* wird mir nichts mehr angezeigt, was in Frage kommen könnte. bei ls /dev sd* wirden mir folgen drei zur auswahl gegeben: sde sde1 sdf. Dann als root:

```
mount /dev/sde1 /mnt/sek800i/
```

Ich kann wieder auf das Handy zugreifen. Leider aber nicht über die udev Regel. *firefly wrote:*   

> ohne die Kernel-zeile weis udev nicht welches device er umbenennen soll(bei deiner Regel). Und was ist am KERNEL=="sd*" so schlimm?

 Ich habe noch andere udev Regeln für USB Speichersticks. Die funktionieren auch ohne die Kernel-Zeile. Ich will eben nicht bei jeder Veränderung des Kernels die udev Regel anpassen müssen. Von u* zu sd* usw. Ausserdem dachte ich, dass ich die Seriennummer aus genau diesem Grund angebe, dass udev genau weiß welches Gerät umbenannt werden soll.

Jetzt habe ich allerdings ein neues Problem: Meine anderen USB Speichersticks kann ich nicht mehr booten. *Quote:*   

> mount: /dev/usb1gb ist kein blockorientiertes Gerät

 Ich glaube das war auch ursprünglich der Grund, warum ich diese Kernel Option drinnen hatte.

----------

## firefly

wie wird der USB-Stick vom kernel jetzt erkannt? bestimmt als /dev/sd*.

Und jetzt musst du halt die passende Partition des Speichersticks angeben zum mounten bzw. in der UDEV-regel (z.b. KERNEL=="sd?1" für die 1. partition). Da jetzt die jetzt als mass-storage geräte erkannt werden (durch den usb-storage treiber)

----------

## hitachi

Ja, der Stick wird jetzt als /dev/sde und /dev/sde1 angezeigt. Die sde1 kann ich jetzt als root auch mounten.

Wenn ich in die udev Regel explizit KERNEL=="sde1" schreibe, bin ich dann nicht wieder vom Zufall abhängig, welchen USB Stick ich heute mal zuerst anschließen will? Kann ich etwas wie KERNEL=="sd*1" rein schreiben ohne meine boot Partition sda1 sdb1 sdc1 sdd1 (raid zu md1) damit total durcheinander zu bringen?

----------

## firefly

 *hitachi wrote:*   

> Ja, der Stick wird jetzt als /dev/sde und /dev/sde1 angezeigt. Die sde1 kann ich jetzt als root auch mounten.
> 
> Wenn ich in die udev Regel explizit KERNEL=="sde1" schreibe, bin ich dann nicht wieder vom Zufall abhängig, welchen USB Stick ich heute mal zuerst anschließen will? Kann ich etwas wie KERNEL=="sd*1" rein schreiben ohne meine boot Partition sda1 sdb1 sdc1 sdd1 (raid zu md1) damit total durcheinander zu bringen?

 

ja dafür hast du ja die anderen Bedingen wie serial und productid in deiner udev-regel  :Wink: 

für dein SonyEricssonK800 wäre folgende regel passend (annahme sd*1 ist die gewünschte partition welche unter dem namen sek800i ansprechbar sein soll )

BUS=="usb", KERNEL=="sd?1", ATTRS{serial}=="3547160198371480", ATTRS{idProduct}=="e039", NAME="sek800i"

----------

## hitachi

Ich habe jetzt überall KERNEL=="sd?1", eingefügt. Jetzt funktioniert nur noch die erste udev Regel. Auch mein USB cdrom gibt es jetzt gar nicht mehr. <- Ich sehe gerade, das cdrom ist wieder zu /dev/cdrom1 gewandert.

----------

## firefly

 *hitachi wrote:*   

> Ich habe jetzt überall KERNEL=="sd?1", eingefügt. Jetzt funktioniert nur noch die erste udev Regel. Auch mein USB cdrom gibt es jetzt gar nicht mehr. <- Ich sehe gerade, das cdrom ist wieder zu /dev/cdrom1 gewandert.

 

da ein cdrom-laufwerk bzw. eine CD keine partitionen kennt, ist KERNEL=="sd?1" falsch  :Wink:  da würde entweder KERNEL=="sd*" oder KERNEL="sd?" besser passen.

Um dir besser helfen zu können, wäre es nicht schlecht, wenn du deine udev-regeln hier posten könntest und unter welchem device-node (sdX/hdX) der kernel die entsprechenden laufwerke/geräte erkennt.

----------

## hitachi

```
vim /etc/udev/rules.d/10-udev.rules
```

 *Quote:*   

> BUS=="usb", KERNEL=="sd?1", ATTRS{serial}=="5B760D88CCFF", ATTRS{idProduct}=="1d00", NAME="lanze"
> 
> BUS=="usb", KERNEL=="sd?1", ATTRS{serial}=="3547160198371480", ATTRS{idProduct}=="d039", NAME="sek800i"
> 
> BUS=="usb", KERNEL=="sd?1", ATTRS{serial}=="000A2700111242C0", ATTRS{idProduct}=="1301", NAME="ipod"
> ...

 

```
vim /etc/udev/rules.d/70-usbdvd.rules
```

 *Quote:*   

> BUS=="usb", KERNEL=="sd?1", ATTRS{serial}=="DEF108F35C97", ATTRS{idProduct}=="a100", NAME="usbdvd", GROUP="cdrom"

 Den Datenträger "Lanze" kann ich mounten. "Stachel" kann ich nicht mounten.

```
mount /mnt/stachel/
```

 *Quote:*   

> mount: Gerätedatei /dev/stachel existiert nicht

 Als root kann ich "Stachel" mit folgendem Befehl mounten:

```
mount /dev/sde /mnt/stachel/
```

Den iPod habe ich gerade verliehen und kann diesen nicht testen. Beim Mobiltelefon verhält es sich wie bei "Stachel". Hier hilft folgender Befehl:

```
mount /dev/sde1 /mnt/sek800i/
```

Das CD Laufwerk kann ich nicht nutzen. Hier zB.:

```
eject -T /mnt/dvd/
```

 *Quote:*   

> eject: tried to use `/dev/usbdvd' as device name but it is no block device
> 
> eject: kann Gerät `/mnt/dvd' nicht finden/öffnen

 

```
vim /etc/fstab
```

 *Quote:*   

> /dev/md1                /boot           ext2            noauto,noatime  1 2
> 
> /dev/md3                /               reiserfs        noatime         0 1
> 
> /dev/md2                none            swap            sw              0 0
> ...

 caligula ist zur Zeit defekt und aus diesem Grund auskommentiert. silber habe ich noch nicht in die udev Regeln aufgenommen. Habe es zur Zeit nicht gebraucht. Das mit dem usb-cdrom ist nicht so schlimm. Ich kann es ja einfach wieder in cdrom1 umbenennen. Hatte nur mit der BLK_DEV_UB Kernel-Option nicht mehr als cdrom1 funktioniert. Hier noch mal Informationen zu dem Problem mit dem usb cdrom Laufwerk: https://forums.gentoo.org/viewtopic-t-701170-highlight-.html

Ich verstehe übrigens noch immer nicht, in welchem Zusammenhang das mit dem Kernel Update steht. Wenn ich meinen alten Kernel boote, funktionieren auch die alten Regeln, also ohne KERNEL=="sd?1", ganz Problemlos. Für alle Geräte.

----------

## firefly

"stachel"  hat scheinbar keine partition deshalb ist KERNEL=="sd?1" falsch wie auch für das cdrom laufwerk  :Wink:  (aber das habe ich in meinem letzten post schon geschrieben)

also für das usb-cdromlaufwerk und für das usb-device "stachel" sollte KERNEL="sd?" oder KERNEL="sd*" passen.

EDIT: für sek800i scheint die regel nicht zu passen. KERNEL scheint zu stimmen aber "serial" und "idProduct" scheinen nicht für das gerät, welches vom kernel als /dev/sde1 erkannt wird zu stimmen

----------

## firefly

Der Treiber BLK_DEV_UB macht, soweit ich weis probleme, wenn man auch usb-storage verwenden möchte. Da scheinbar beide treiber für die selben geräte gelten und der BLK_DEV_UB da den vorrang hat.

Wenn du nicht weist für was du BLK_DEV_UB benötigst, ist es am besten diesen treiber im kernel zu deaktivieren und stattdessen usb-storage zu verwenden.

----------

## hitachi

Hi,

soweit ich das sehe scheint jetzt alles zu funktionieren. usb cdrom habe ich direkt über fstab, die anderen mit udev Regeln.

Schönes Wochenende

----------

