Monday, November 20, 2006

Hardware Félure ...

Bon ... pas de pot, mon matériel de bidouilleur DS commence a donner des signes de faiblesse ... juste au moment ou je m'apprétais à passer un petit week-end sympa à intégrer des musiques et des images à moi dans TetAttDS pour le transformer tout doucement en "apple rumble" ... grumble. 

Jusqu'ici, pour tester tous mes programmes, je faisais appel à la méthode dite du "cart swapping", qui consiste grosso modo à répéter la séquence suivante chaque fois que je change un bit dans mon programme:

  • éteindre la console
  • retirer la cartouche "supercard" (en bleu sur l'image)
  • éjecter la carte SD flash de la cartouche (en tout petit)
  • insérer la carte flash dans le lecteur USB (en lilas sur l'image)
  • taper la commande "mount /media/ukey"
  • copier le nouveau fichier
  • taper la commande "umount /media/ukey"
  • retirer la carte flash
  • réinsérer la carte flash dans la cartouche supercard
  • remettre la cartouche supercard à sa place
  • ralumer la console.

Autant vous dire que ça prend un certain temps, et que sur 1 heure de développement, je passe probablement bien 20 minutes à ce genre de manipulations (et probablement 10 minutes à passer les écrans d'accueils successifs avant de lancer mon jeu. Mais pas de bol, dès hier après-midi, mon petit lecteur USB se met à donner des signes de faiblesses ... d'abord il lui faut 2 à trois essais pour reconnaître la carte, puis la situation se dégrade il me faut bientôt une demie-heure de retrait/insertion de la clé USB dans le PC pour pouvoir transférer un seul fichier ... surchauffe ? fragilité mécanique du petit gadget ? va savoir ...

Toujours est-il que j'ai à grand peine pu constater qu'il y avait quelques bugs dans la bibliothèque mikmod, sans pouvoir vraiment mettre le doigt dessus ... autant dire que le développement va faire une pause le temps que j'aie réussi à faire tourner DSFTP et autres libcartreset Potentiellement, ça voudrait dire envoyer le nouveau programme à la DS et le démarrer via Wifi, mais pour ça, il faut aussi intégrer à DSFTP le programme de détection de point d'accès ... à suivre, donc.

No luck ... My homebrew hacker hardware for the DS seems failed to work this week-end! Just when i was about to afford an afternoon mixing TetAttDS code with my own background and music data ... It looks like the "cartridge swapping" technique i've been using so far no longer please the small USB device i use to read/write the SD memory card ... Or maybe i've just left it plugged in the computer for too long and it has overheated ? who knows. 

What's certain is that the plug-it-in/mount/copy/unmount/plug-it-out 2-minutes cycles i was used to turned into a total nightmare with "device not accepting address" errors in kern.log or things like "read/64 descriptor: error 110" ... Guys in Linux forums seems to say it could be due to a poor USB connection or a bug in a very specific kernel release... well, that smells like hardware failure to me! So it'll be time for me to opt for DSFTP-based technique (using the WiFi abilities of the console to grab a file and write it in the SD card 'in situ') ... which could be much faster, but which also requires me to mix DSFTP with the wifi library test (mainly the code for selecting an access point) as i don't have any game like Mario Kart DS for writing Wifi settings in the firmware memory (and i wouldn't trust a homebrew program to do it for me).

So development of Apple Rumble is frozen so far: all i can tell you is that mikmod library doesn't like Cyborg Jeff's tunes that much X_x

6 comments:

Anonymous said...

pfuu c'est c|-|iant ca ;(

Anonymous said...

Pour tes problèmes de clefs USB: je te propose la technique suivante pour qu'elle soit remise en état: Perso je l'ai laissée 1 mois dans l'herbe au pied d'une roulotte dans la prairie du château de Waroux et elle fonctionne parfaitement... Elle a besoin de repos met là au vert...

Stefan

PypeBros said...

tiens, ça, c'est une idée, Stef... j'irais bien faire ça, et me cacher sous la roulotte pour me mettre au vert aussi ... ah, non. On est en novembre. Dommage ^_^

Anonymous said...

I tried to mount my USB BAR / USB memory stick but dmesg (or tail -f /var/log/message) told me

device descriptor read/64, error -71

I could solve this by issuing the following command:
echo N > /sys/module/usbcore/parameters/old_scheme_first

If you unplug the USB Memory and plug it in again you should be able to mount it via
mkdir /mnt/sda1
mount /dev/sda1 /mnt/sda1

If you want to start the usbcore.ko each time with the old_scheme_first parameter create a rc.local file for debian system by doing the following:

Make a file /etc/init.d/local with the following lines:
#! /bin/sh
echo N > /sys/module/usbcore/parameters/old_scheme_first
mount /dev/sda1 /mnt/sda1

Save the file and make it executable by typing in the console
chmod +x /etc/init.d/local

The last command you need to type is:
update-rc.d /etc/init.d/local defaults 80

Kind regards

(http://www.mepis.org/node/5860)

PypeBros said...

echo Y > /sys/module/usbcore/parameters/old_scheme_first is more likely to work ^_^

PypeBros said...

visiblement, c'est bien une faiblesse de la clé USB... ne pas la laisser brancher des semaines dans un PC et s'assurer que sa petite lupiote verte s'est bien allumée avant de monter la carte fait l'affaire...

-----

Clearly, that's a USB key weakness. If i don't let it plugged in the computer for days and if i make sure the green LED is lit before inserting the SD card, it still works fine.