This is an old revision of the document!
There are several orphanend open-source projects aiming to support NetMD Walkman devices under Linux, namely:
libnetmd: A library to connect to NetMD Walkman - http://libnetmd.sourceforge.net/ and http://www.unmaintained-free-software.org/wiki/Libnetmd
Patch for libnetmd to add support for MZ-RH1 and -RH10, also minor casting fixes: http://users.physik.fu-berlin.de/~glaubitz/linux-minidisc/0001-cast-fixes-MZ-NH600-MZ-RH1-MZ-RH10-support-adde.patch
gnetmd: A GUI for libnetmd - http://www.pdr.cx/projects/gnetmd/main/
Xmd: NetMD software for Mac OS X - http://www.sorted.org/Xmd/
WinNMD: non-free Windows software - http://winnmd.net/
FreeMD: how the NetMD protocol works, and a shell to set track titles etc.
The NetMD protocol is based on the AV/C Digital Interface Command Set, an 1394 TA specification:
Here is an older document by the TradeAssociation:
The Sony patent US7437770 describes in details the entire communication between a NetMD device and a PC starting with the exclusive login and retrieving of the track titles. The data exchange commands are shown in the form control/response frames (Figures 33-49). It's quite easy to understand the stuff, especially by working in conjuction with the AV/C documents mentioned above.
Loading files on the MiniDisc Player, in particular the role of the EKB, is described in the US Patent 7228568 (retrieved via http://www.pat2pdf.org/), which contains some hilariously bad cryptography (and is in any other way utterly trivial). This answers many, but not all, questions about the file transfer logs. YAP: US Patent 7362870. Also noteworthy may be US Patent 20050246286, which seems to document how OpenJukeBox manages licenses.
More protocol info: http://bertrik.sikken.nl/netmd/
The EKB format is mostly revealed now. There is now a Dump EKB tool that can be used to display EKB files. Here is an example output (the unique keys have been blacked out):
$ ./dump-ekb.py 00010001.ekb EKB 00010001.ekb Unknown 1/2: 0x1 0x1 Reserved: 0x0 Unknown 3: 0ff4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Tag Length: 0x1c Data Length: 0x130 Sig Length: 0x134 Tags: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Data: bf71xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K000000000,KR) 01caxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K000000010,KR) 2c4bxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000110,KR) a8ecxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100000,K0000000110) 7d5bxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100001,K0000000110) e721xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100010,K0000000110) 24aaxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100011,K0000000110) e664xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100100,K0000000110) be2dxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100101,K0000000110) 846axxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100110,K0000000110) 5695xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100111,K0000000110) 792exxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000000100000000,KR) 0679xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000010000001010,KR) 3ebexxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000010000001100,KR) 5649xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000010000001110,KR) 9913xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000010000010000,KR) ac8cxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000010000010010,KR) dd10xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000010000010100,KR) d0c9xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000000100000010000,KR) Sig Unknown: 00000017020000000100 Sig Len: 0x28 Sig: 7b51xxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
TODO: Check other Sony patents.
There is a funding project, supporting a resume of the development of the libnetmd software, see http://www.cofundos.org/project.php?id=122.