FU Logo
  • Startseite
  • Kontakt
  • Impressum
  • Home
  • Listenauswahl
  • Anleitungen

Re: [linux-minidisc] First patch for write support on HiMD available

<-- thread -->
<-- date -->
  • From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
  • To: manner.moe@gmx.de
  • Date: Thu, 5 Jan 2012 01:25:36 +0100
  • Cc: linux-minidisc@lists.fu-berlin.de
  • Subject: Re: [linux-minidisc] First patch for write support on HiMD available

On Mon, Mar 14, 2011 at 08:56:17PM +0100, manner.moe@gmx.de wrote:
> 
> from SonicStage downoad:
> 0x8050:  00 00 00 00 00 00 00 00 00 01 00 03 00 04 00 00 
>               00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
>               01 03 00 B0 00 01 00 01 01 E2 10 01 D9 10 00 00 
>               01 0F 50 00 00 04 00 00 00 52 E4 26 C3 6E F4 A8 
>               2F 29 8C 25 00 00 00 00 00 00 00 00 01 00 40 00
> 0x30010: 00 00 00 00 00 00 00 00 00 00 01 D9 00 0D 00 00
> 
> Now it looks like this:
> 0x8050:  60 20 00 00 00 00 00 00 00 01 00 00 00 00 01 00 
>               00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>               01 03 00 B0 00 01 00 01 01 E2 10 01 D9 10 00 00 
>               02 03 00 00 4C 3B 6F E8 0D EF BA 33 2D 44 8F 80 
>               EF 5C 37 E6 60 20 00 00 60 20 00 00 01 00 40 00
> 0x30010: 00 00 00 00 00 00 00 00 00 00 01 D8 00 1D 00 00

So, me and Michael did some debugging on the write code today and we
found two problems:

1. The write code encrypted blocks even when they were smaller than 8
   bytes. This is incorrect behavior, since only full blocks are
   supposed to be encrypted. Blocks smaller than 8 bytes are to remain
   unencrypted. This has been fixed in the latest commit f3d8634.

2. The fields for the playback license validity (0044 and 0048 hex)
   within a track descriptor are wrong. They have to be set to zero to
   disable license expiration, see [1].

   Comparing the above two hexdumps for the track descriptor of track
   1 of a HiMD written with SonicStage and himdcli, the difference
   immediately becomes obvious. While SonicStage set those fields to
   "00 00 00 00 00 00 00 00", himdcli sets them to "60 20 00 00 60 20
   00 00". So the obvious fix will be setting these fields simply to
   zero like SonicStage does to finally fix the "Cannot play" problem
   after transferring an MP3 track with himdcli.

We haven't tackled the second bug yet since we discovered some other
bugs in the write code which prevented writing an MP3 track onto a
blank disk: copies of the trkidx0X.hma are not properly numbered so
that the current track index file is not valid (SonicStage creates
copies of the trkidx0X file and increases the counter X). But this
should be an easy fix.

Then, there's only the problem with with track information (artist,
title, album etc) sometimes not being properly written. But we will
look into that as well.

So, writing tracks should be working soon enough so we can actually
integrate it into the graphical user interface (qhimdtransfer) :).

Adrian

[1] https://wiki.physik.fu-berlin.de/linux-minidisc/doku.php?id=himddiskformat#the_track-index_file



<-- thread -->
<-- date -->
  • Follow-Ups:
    • Re: [linux-minidisc] First patch for write support on HiMD available
      • From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
  • linux-minidisc - January 2012 - Archives indexes sorted by:
    [ thread ] [ subject ] [ author ] [ date ]
  • Complete archive of the linux-minidisc mailing list
  • More info on this list...

Hilfe

  • FAQ
  • Dienstbeschreibung
  • ZEDAT Beratung
  • postmaster@lists.fu-berlin.de

Service-Navigation

  • Startseite
  • Listenauswahl

Einrichtung Mailingliste

  • ZEDAT-Portal
  • Mailinglisten Portal