-   Linux - Hardware (
-   -   portable usb mp3 player (

b0uncer 05-27-2004 08:53 AM

portable usb mp3 player
this one's an old problem, and has existed as long as I've owned this works on Windows, of course, but I don't use windows any more so it's a bit annoying to own a thing that's nice but won't work...

so, the usb-connectable portable mp3-player is from Samsung, called Yepp YP-NDU. this far I haven't been able to use it under linux; I've made numerous attempts, and almost every time failed. and I say almost, because it's been close to get it work once...but failed.

now I'd like to know if somebody knows a program to use or a way to use this device. it has a 64Mb internal flash memory and also uses extermal SmartMedia memory cards (I only have one 64Mb..haven't bought new one(s) because it won't work on my pc now).

when I plug the device in, I can see from dmesg that linux recognizes an usb-device and prints out some information. still, no device file/node pops up in /dev so I can't use it like some other USB-devices as an external moveable media (like usb-sticks). it seems like the only way to use this thing is through an application, like the windows-based Yepp Explorer. this won't work with wine so that's out of count too...I only get errors when running it.

there are some driver projects for this type of devices. almost every one of them have just seized to exist, one that hasn't only works with paraller port devices (so not mine) and so on. one thing that was meant to control Nomad players was able to print the first three or four files from the player's memory but couldn't do anything else, and jammed after this...that was the best try.

now if there isn't a program to control this or a way to use the memory of the player straight (which seems to be impossible), does anyone know how a driver coding could be started? I recall the app that was able to print few of the files on my player was called "sulu" or something, like Samsung Uporar Utility (whatever it means) option would of course be to start going through it's source code and modify it until something might happen....but how?

thanks for any advice. the player I'm having problems with isn't that new anymore, few years old I guess, but it's good - as long as one can use it. I have some files in it's memory left from the days I used windows, but playing them around and around gets a bit frustrating...

PsychosisNode 05-27-2004 10:46 AM

Have you tried talking to Samsung?

The device probably uses a proprietary protocol (as opposed to USB mass storage, etc...) and unless Samsung is willing to release it's details then driver writing is down to reverse-engineering (of the windoze driver).

But, as you say, the Nomad program is able to communicate with your player, but has severe bugs, so you might like to investigate the codebase for this software to get some clues.

For information about writing Linux device drivers in general, a quick search on Google should find loads. There is a book from O'reiley that is free to download in PDF format here:

Hope this helps!

proudclod 05-27-2004 10:53 AM

Plug it in, and post the results of an lsusb (/sbin/lsusb).
BTW, this could help:

b0uncer 05-27-2004 11:52 AM

here's the lsusb:

bash-2.05b$ lsusb
Unknown line at line 1809
Duplicate HUT Usage Spec at line 2650
Bus 002 Device 007: ID 04e8:5a01 Samsung Electronics Co., Ltd.
Bus 002 Device 001: ID 0000:0000 Virtual Hub
Bus 001 Device 001: ID 0000:0000 Virtual Hub

I'm not sure about the nomad did show some files, but it was back in the days and I think the newer version of the program didn't do that any more when it was updated. don't know why...anyway, there is another thing too. I tried today running sulu (Samsung Linux Uproar Utility that should support some yepps too), but all I got was:

ERROR: uproar_control did not get 0x40 (loads of this line repeated)
ERROR: uproar_control usb_control_msg
ERROR: uproar_control error sending control message: Protocol error

and then the GUI part told me that it encountered an error loading the playlist. looking through the source code, 0x40 seems to mean Usb Block Size - so what the heck is wrong with this?

anyway, I guess I'll see through some of those driver-guide-things..the sourceforge's Yepp project didn't help me, because it doesn't support USB yepps :/ I've tried it too.

I've also tried to mail Samsung's customer service, but it took weeks before I got an answer (the only one, altough I've sent many questions), which was simply that they don't help.

pezplaya 05-31-2004 12:55 PM

I'm trying to find an answer too.. I also have a yp-ndu, and im trying to get it working. If I find anything ill post back.

b0uncer 05-31-2004 04:54 PM

pezplaya, thanks...I haven't had time for a few days now to work on this, but I guess I'll start looking around this sulu app soon..think what's wrong with it and so on...

abcdef123 06-03-2004 02:59 AM

Have a look at my solution for my problem with my Packard Bell AudioKey MP3 player (it is almost a HOWTO! :) )

Thanks to faq at

b0uncer 06-03-2004 09:32 AM

looked nice, but...

cat /proc/scsi/scsi

doesn't show my player. only my cd, but not my usb-player...instead,

cat /proc/bus/usb/devices

has an entry that tells me I've got a usb-device connected. I don't know if this has something to do with the fact that samsung's usb-yepps (and others too?) use somekind of different method of transferring files; this doesn't act as a moveable media like usb-sticks etc. do, so I can't mount this the same way I can mount them. I'd need to get a program that handles the protocol correctly...

or is there a way to "tell" the system to use this like an scsi-drive? I mean, ide-cdroms can be "faked" to be scsi, by adding the ide-scsi option; is there a similar way for usb? altough I still don't know what would happen if I could mount this as a filesystem - how would the songlist be ordered? alphabetically?

thanks for ideas...still have to work on this. hopefully I can get this solved one day :) that would answer to a lot of questions I guess...

b0uncer 06-03-2004 09:34 AM

one more post now - here's the output of "cat /proc/bus/usb/devices", the part that tells about my player (before plugging it I have two sections, for my usb-connectors, and when I plug this in I get the third one which is this one below):

T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=04e8 ProdID=5a01 Rev= 1.00
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 98mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

still this doesn't help me a bit :/ don't know what to do with this info. all I can get out of it is that my kernel knows I've plugged in something to my usb port, but don't know what the heck to do with it...

EDIT: hmm...I found interesting tools like USB Snoopy and usb-robot, and after a quick first look it seems that I can "sniff" the usb-traffic that a windows machine does, and then with the other tool send them in linux to my device...I wonder if this works. if I can't figure anything else out, I'll give these a try :)

All times are GMT -5. The time now is 09:54 PM.