Les walkmans Sony sous Ubuntu Hardy

Depuis la dernière version d’Ubuntu - et c’est également le cas des autres distributions qui utilisent la version 0.5.11rc2 de HAL ou plus récente - les lecteurs mp3 NWZ-A81x et NWZ-S61x que Sony a eu la bonne idée de rendre compatibles USB mass-storage, i.e. utilisables comme des clés USB, ne sont plus montés automatiquement sur le bureau (il reste possible d’utiliser mount). On peut les utiliser comme périphériques MTP avec rhythmbox ou banshee, mais pas comme périphériques UMS.

En cause, une amélioration du code source de HAL : la vérification du retour d’une fonction dans le fichier hald/util.c - fonction hal_util_get_int_from_file(), introduite le 28 janvier 2008. En soit, c’est une bonne chose, mais avec pour effet de bord la fin de la détection du volume FAT32 qui se trouve sur le walkman (car sa taille est reportée de manière erronée par sysfs).

Vous trouverez plus d’infos sur le bug sur Launchpad.

Bref, voici la solution palliative : nous allons faire une modification dans le code source de HAL, puis le recompiler et reconstruire un paquet. Vous avez besoin d’avoir une source de logiciels offrant les paquets source sur votre système.


# récupération du paquet source
apt-get source hal
# installation des dépendances
sudo apt-get build-dep hal
cd hal-0.5.11~rc2/
# nous modifions strtol() par strtoul() dans util.c
sed -i '201s/strtol/strtoul/' hald/util.c
# nous recompilons HAL et reconstruisons le paquet
dpkg-buildpackage -us -uc -rfakeroot
cd ..
sudo dpkg -i hal_0.5.11~rc2-1ubuntu8.1_i386.deb

A ce point, normalement, le lecteur devrait être monté sans problème et apparaître sur le bureau.

Par contre, pour qu’il soit bien reconnu par Rhythmbox et consorts comme un lecteur MP3 UMS, il faut :
- désactiver le plugin Lecteurs portables MTP dans Rhythmbox
- copier le descriptif HAL du Sony A818 dans /etc/hal/fdi/information
- rédémarrer HAL : sudo invoke-rc.d hal restart
- brancher le baladeur

Je pense que le fichier descriptif fonctionne pour toute la série des A81x. Pour les autres, il suffit d’adapter le champ product_id (utilisez la commande lsusb pour trouver le couple vendor_id:product_id).

L’étape de création du paquet pose un problème : notre version sera remplacée par la prochaine mise à jour. Si quelqu’un peut m’apporter une aide précieuse sur les modifications à apporter au paquet source, je suis preneur.

Tags: , , , , , , ,

8 commentaires pour “Les walkmans Sony sous Ubuntu Hardy”

  1. Nicosmos dit :

    Ha ha, quand j’ai vu le titre dans mes flux RSS, je me suis dit “Wouah, il y a quelqu’un qui a réussi à installer Ubuntu sur un baladeur !”. Et puis non ;)

  2. Benjamin Delagoutte dit :

    @Nicosmos:

    Excellent ! J’ai pas trop fait gaffe en écrivant le titre…

  3. korbé dit :

    Génial, ça fait depuis la sortie de hardy que je cherche la solution.

    Un grand merci à toi l’ami ^_^

  4. EC dit :

    Nickel, fonctionne parfaitement avec un NWZ-A816. Merci pour l’info.

    Espérons que le bug sera corrigé rapidement par les développeurs de HAL.

  5. JeanJ dit :

    J’ai l’impression que ce problème n’est pas lié aux baladeurs Sony, moi par exemple depuis ma migration vers Hardy pour qu’un périphérique usb soit monté il faut qu’il soit allumé au démarrage du PC, sinon il n’est pas vu (même par lsusb).
    J’en ai l’expérience avec les baladeurs MP3 de ma petite famille, ainsi qu’avec mon DD externe Peekbox.

  6. Benjamin Delagoutte dit :

    @JeanJ :
    Je ne pense pas qu’il s’agisse du même bug. Les baladeurs Sony apparaissent toujours dans lsusb, qu’ils soient branchés ou non au démarrage.

    Mais effectivement, il semble y avoir quelques soucis du côté des espaces de stockage USB…

  7. JeanJ dit :

    Suite aux dernières mises à jour mon problème a été résolu et mes périphériques sont de nouveaux monté automatiquement à chaud.

    En tout cas merci pour ton blog !

  8. Pascal (lo_pescofi) dit :

    Nickel !
    Ca marche et en plus le Tuto est bien fait !
    félicitation

Laisser un commentaire