Patching the Player for more dynamic FIDs

Posted by: mlord

Patching the Player for more dynamic FIDs - 03/03/2005 16:33

Quote:
With player-2.01, one should find 0000 7000 at offset 0x00f4dde


Correction on that. I also see the 0000 7000 at 0x00f4de0 in v2.01:

000f4db0 00 02 00 00 00 02 00 00 00 02 00 00 00 04 00 00 |................|
000f4dc0 00 02 00 00 00 06 00 00 00 02 00 00 00 08 00 00 |................|
000f4dd0 10 00 00 00 10 08 00 00 10 00 00 00 00 10 00 00 |................|
000f4de0 00 70 00 00 00 00 00 00 00 00 00 00 2f 64 65 76 |.p........../dev|
000f4df0 2f 68 64 61 33 00 00 00 2f 64 65 76 2f 64 73 70 |/hda3.../dev/dsp|
000f4e00 00 00 00 00 65 6d 70 65 67 5f 63 6f 64 65 63 5f |....empeg_codec_|
000f4e10 73 6f 75 72 63 65 2e 63 70 70 00 00 54 68 65 72 |source.cpp..Ther|

Quote:

Quote:
3 3 24097 hda3

Bingo, your dynamic partition is 48,194 sectors long. A patched binary, and then 0xAC420 of FID goodness are all yours.

Peter

So, modified with 0xAC42 it should appear like this:

000f4db0 00 02 00 00 00 02 00 00 00 02 00 00 00 04 00 00 |................|
000f4dc0 00 02 00 00 00 06 00 00 00 02 00 00 00 08 00 00 |................|
000f4dd0 10 00 00 00 10 08 00 00 10 00 00 00 00 10 00 00 |................|
000f4de0 42 ac 00 00 00 00 00 00 00 00 00 00 2f 64 65 76 |.p........../dev|
000f4df0 2f 68 64 61 33 00 00 00 2f 64 65 76 2f 64 73 70 |/hda3.../dev/dsp|
000f4e00 00 00 00 00 65 6d 70 65 67 5f 63 6f 64 65 63 5f |....empeg_codec_|
000f4e10 73 6f 75 72 63 65 2e 63 70 70 00 00 54 68 65 72 |source.cpp..Ther|
Posted by: mlord

Re: Patching the Player for more dynamic FIDs - 03/03/2005 16:41

Updated my post above with more complete info.
Posted by: mlord

Program to patch max_fid within player binary (attached) *DELETED* - 03/03/2005 18:08

Post deleted by mlord
Posted by: mlord

Re: Program to patch max_fid within player binary (attached) - 03/03/2005 18:12

Mm.. darn.. bug: date on top comments has 2004 instead of 2005.

Cheers
Posted by: tfabris

Re: Program to patch max_fid within player binary (attached) - 03/03/2005 18:12

Or Hijack could just patch the memory footprint of that file "in-place" without even altering the disk. It is the kernel, after all, it can do that, right?
Posted by: mlord

Re: Program to patch max_fid within player binary (attached) - 03/03/2005 18:15

That is suprisingly difficult, actually. The player is paged in/out of memory (well, probably never *out* since they likely lock the pages down), but it is probably using a read-only shared mapping, which makes it really, REALLY, hard to do.

Cheers
Posted by: wfaulk

Re: Program to patch max_fid within player binary (attached) - 03/03/2005 18:17

In addition, it seems awfully CPU-intensive compared to a one-time, four-byte change in the executable.

Maybe hijack could contain the modify-the-binary code itself, triggered by a menu somewhere.
Posted by: mlord

Re: Program to patch max_fid within player binary (attached) *DELETED* - 03/03/2005 18:21

Post deleted by mlord
Posted by: mlord

Re: Program to patch max_fid within player binary (attached) - 03/03/2005 18:36

Quote:
Maybe hijack could contain the modify-the-binary code itself, triggered by a menu somewhere.


I think I'll leave that to userspace, as a simple shell script, which invokes the program I've provided, remounting the root drive rw and then ro again afterwards. The Hijack ;@MENUEXEC could be used to invoke it.

Or even better, a remote shell script that uses FTP to mount the root drive rw, installs the program, chmods it, runs it (SITE EXEC), and then deletes it and remounts the root drive rw again.

cheers
Posted by: mlord

Re: Program to patch max_fid within player binary (attached) - 03/03/2005 18:38

If we ever added a similar automatic function within Hijack, I'd just hardcode the binary offsets to eliminate the searches.

Cheers
Posted by: SE_Sport_Driver

Re: Program to patch max_fid within player binary (attached) - 03/03/2005 19:08

If anyone is going to do that, one for fidsift would be cool too!
Posted by: Chuck

Re: Program to patch max_fid within player binary (attached) - 03/03/2005 20:06

Could you (or someone with the ability/resources) provide a compiled version of this that will run on the Empeg?

Thanks,
-Chuck
Posted by: mlord

set_empeg_max_fid (again) *DELETED* - 03/03/2005 22:11

Post deleted by mlord
Posted by: mlord

set_empeg_max_fid (version 4) - 03/03/2005 22:28

UPDATED VERSION!! This one has the right year on the comments, and is also 4x more efficient in how it searches. Also includes a minor bugfix to prevent possible (unlikely) segfault in the event that the search for the patch-point fails. Slightly safer overall, but either version works. Original post now deleted.

ANOTHER UPDATE: this one actually uses the correct new max_fid value from the partition size; the earlier versions forgot to multiply by 2, which normally results in a lower max_fid than that started with!

YET ANOTHER UPDATE: I finally figured out why Peter's number was "off" by 0x1000 in his messages: fixed overhead area for dynamic playlists etc.. in the dynamic data partition. This version of the utility now subtracts this from the new max_fid value (no harm with the previous version, though). As of this version (VERSION 4), it also now prints a version number banner at startup.

Okay, here's some C-code. Works for me on all v2/v3 player versions, and should also work fine on pretty much any other player version. Lots of error-checking included, so I believe it to be very safe.

If compiled for the player, one could just FTP the binary over to an empeg, remount the root drive RW, and then run it with no args. It will figure out how big the /dev/hda3 dynamic data partition is, and hack that value into /empeg/bin/player, all automatically.

Alternatively, one can compile/run it on any Linux/POSIX machine, and supply two command-line parameters: the absolute path to the player binary (must begin with a slash), and the new max_fid value (as otherwise it will use the computer's /dev/hda3 size, which probably won't be correct..).

Cheers
Posted by: mlord

Re: set_empeg_max_fid (version 4) *DELETED* - 03/03/2005 22:29

Post deleted by mlord
Posted by: mlord

Re: set_empeg_max_fid (version 4) - 03/03/2005 22:32

Sample output from running it on my player:Code:

empeg:/# ./set_empeg_max_fid.v4
./set_empeg_max_fid.v4: version 4 by Mark Lord (March 2005)
/dev/hda3: 16632 sectors
New max_fid value will be 29168 (71f0 0000)
before: 0017b95c: 00 10 00 00 00 70 00 00 00 00 00 00 00 00 00 00
after: 0017b95c: 00 10 00 00 f0 71 00 00 00 00 00 00 00 00 00 00
empeg:/#

Posted by: mcomb

Re: set_empeg_max_fid (version 4) - 03/03/2005 22:38

Quote:
(release early, release often.. the open-source creedo!)


Uh, oh. Isn't that how you got started with hijack? Your not going to start rewriting the player one byte at a time now are you?

-Mike
Posted by: Chuck

Re: set_empeg_max_fid (version 4) - 04/03/2005 02:14

Thanks!
Posted by: pupvogel

Re: set_empeg_max_fid (version 4) - 04/03/2005 07:55

well...this is so cool !?
just a few days after this was brought up, everything works again without having to remount, rebuild...
thanks !!!

empeg:/# ./set_empeg_max_fid.v4
./set_empeg_max_fid.v4: version 4 by Mark Lord (March 2005)
/dev/hda3: 24097 sectors
New max_fid value will be 44098 (ac42 0000)
before: 00112698: 00 10 00 00 00 70 00 00 00 00 00 00 00 00 00 00
after: 00112698: 00 10 00 00 42 ac 00 00 00 00 00 00 00 00 00 00
Posted by: peter

Re: set_empeg_max_fid (version 4) - 04/03/2005 08:57

Quote:
fixed overhead area for dynamic playlists etc.. in the dynamic data partition.

The clue's in the question... "offset... size..."

This is well cool BTW. Shame it got you so few extra FIDs on your own player!

Peter
Posted by: mlord

Re: set_empeg_max_fid (version 4) - 04/03/2005 12:32

Quote:
/dev/hda3: 24097 sectors
New max_fid value will be 44098 (ac42 0000)


Ooops.. cosmetic issue: the first line above is actually reporting "blocks" rather than sectors. Each block consists of two sectors.

But the program is doing the right thing with it, so no worries. I'll release a v5 shortly that displays the message correctly, just to be nicer about it all.

Cheers
Posted by: mlord

set_empeg_max_fid (version 5) - 04/03/2005 12:48

Here's the updated source code for v5 of set_empeg_max_fid.c (attached).

Just cosmetic changes this time. No need to re-run it if you've already used v4.

-- improved parsing of /proc/partitions
-- fixed display of "sectors" value
-- tidied up display of program name
-- modified license terms to permit embedding within player app in case Peter or others decide to do so. (hint hint..)

Cheers
Posted by: mlord

Re: set_empeg_max_fid (version 5 binary) - 04/03/2005 12:48

Here's the precompiled empeg executable for v5.

Cheers
Posted by: mlord

Re: Program to patch max_fid within player binary (attached) - 04/03/2005 12:56

Quote:
That is suprisingly difficult, actually. The player is paged in/out of memory (well, probably never *out* since they likely lock the pages down), but it is probably using a read-only shared mapping, which makes it really, REALLY, hard to do.


Actually, I suppose it's an anonymous mapping, not shared, as the loader needs to perform relocation on the loaded image before running it. The place to have it automatically patch things would be in the loader program (userspace): /lib/ld-linux.so.2

Much more difficult within the kernel, though not impossible (obviously). We'd have to detect that ld-linux is mmapping the player, and the player has not been replaced with a shell script for whatever reason, and then we'd have to prefault the page in question (probably a no-op, but gotta check). Not huge I suppose, but more than I'm up for right now.

Cheers
Posted by: SE_Sport_Driver

Re: set_empeg_max_fid (version 5 binary) - 04/03/2005 14:37

Dumb Question: Will the benefit anyone who has a large number of FIDS or only those who have no used a standard builder image?
Posted by: tfabris

Re: Program to patch max_fid within player binary (attached) - 04/03/2005 14:38

Quote:
Much more difficult within the kernel, though not impossible (obviously).


I just think it's nifty that you're even thinking about how it could be done.

Imagine the empeg kernel having a universal "patch" feature that allowed you to make those kinds of tiny changes to the binaries, on-the-fly, without needing to write a special program to do it each time. It could just be a config.ini setting or something...
Posted by: tman

Re: set_empeg_max_fid (version 5 binary) - 04/03/2005 14:43

Everybody. The partition size is rounded up to the nearest cylinder which means it's bigger than 16MB on larger disks.
Posted by: mlord

Re: set_empeg_max_fid (version 5 binary) - 04/03/2005 14:46

Anyone with more than 0x6fff (28671) fids can benefit. How much it helps depends on how much space there is in /dev/hda3, but even on stock installs (like my own 30GB unit) it may enable more than the default limit for fids.

Cheers
Posted by: SE_Sport_Driver

Re: set_empeg_max_fid (version 5 binary) - 04/03/2005 14:57

Thanks guys! This is great! I can't remember if my primary drive is the 80gb or 100gb, but this should help!

Here is what I got:
Quote:
empeg:/# ./set_empeg_max_fid.v5
set_empeg_max_fid.v5: version 5 by Mark Lord (March 2005)
/dev/hda3: 48194 sectors
New max_fid value will be 44098 (0000ac42)
before: 00112698: 00 10 00 00 00 70 00 00 00 00 00 00 00 00 00 00
after: 00112698: 00 10 00 00 42 ac 00 00 00 00 00 00 00 00 00 00


Now, if only I could get my "down, down, down" playlist to be saved between boots!
Posted by: mlord

Re: set_empeg_max_fid (version 5 binary) - 04/03/2005 16:05

Quote:

Now, if only I could get my "down, down, down" playlist to be saved between boots!


Mmm.. I wonder what might happen if we also patched the 0000 0010 (0x1000) value to a larger number, and adjusted max_fid to compensate.. Peter?
Posted by: peter

Re: set_empeg_max_fid (version 5 binary) - 04/03/2005 16:21

Quote:
Mmm.. I wonder what might happen if we also patched the 0000 0010 (0x1000) value to a larger number, and adjusted max_fid to compensate.. Peter?

Crikey. OK. What you'd have to do is observe that (0x00001000, 0x00007000) is the ninth and last in an array of (offset,size) pairs. The first four pairs correspond to bookmarks 0-3. "Bookmark Zero" is the saved playlist, and bookmarks 1-3 are the user-visible bookmarks.

As shipped, the four bookmarks are 512 sectors long each (256K bytes). If you were being devious, you could sacrifice one or two bookmarks to the greater good, and increase the size of Bookmark Zero. So the table starts like this:
(0x00000000, 0x00000200)
(0x00000200, 0x00000200)
(0x00000400, 0x00000200)
(0x00000600, 0x00000200)
and if you changed it to be, say
(0x00000000, 0x000003C0)
(0x000003C0, 0x000003C0)
(0x00000780, 0x00000040)
(0x000007C0, 0x00000040)
then both the saved playlist and Bookmark 1 would have much more space, but Bookmarks 2 and 3 could be used only for shortish running orders. Blah blah no guarantee that doesn't shag it royally etc. but it should work.

If you were being proper devious, and you had lots of room (say 0xBC42 sectors, like Paul), you could remap some at the end of the paritition, on the basis no-one has more than say A000 fids:
(0x00000000, 0x00000400)
(0x00000400, 0x00000400)
(0x0000B000, 0x00000400)
(0x0000B400, 0x00000400)
...
(0x00001000, 0x0000A000) (not AC42)

You shouldn't fiddle with or move the small, 16-sector allocations in the middle of the list:
(0x00000800, 0x00000010) and its friends.

Peter
Posted by: JBjorgen

Re: set_empeg_max_fid (version 5 binary) - 04/03/2005 19:08

<coy>Ooh I love it when you get proper devious</coy>
Posted by: mlord

Re: set_empeg_max_fid (version 5 binary) - 04/03/2005 20:29

Mmm.. great(!) info, Peter!

Now, as I seem to recall.. the current running order has a fixed 512-byte overhead, plus something like 12-bytes per FID, so the default of 256KB can handle up to 21802 FIDs, I suppose.

I think the simplest thing to do, for players with lots of "slack" on /dev/hda3, would be to have set_empeg_max_fid move the running order to the end of the partition, sized to match the new max_fid value. The space vacated at the beginning of the partition could then be redistributed among the bookmarks.

Nice, simple, safe, and probably a Good Thing(tm) to have it do.

Right?

EDIT: or maybe just swallow the bookmarks into an expanded running order (up to new max_fid), and relocate the affected bookmarks to the end of the partition.. mm.. I might like this option even more.. mmm..
Posted by: mlord

Re: set_empeg_max_fid (version 5 binary) - 04/03/2005 20:46

Mmm... yes.. I like Peter's second option.. cannibalize the 3rd & 4th bookmarks to expand the first two, and then reallocate the 3rd/4th from the slack space at the end of the partition.

-ml
Posted by: SE_Sport_Driver

Re: set_empeg_max_fid (version 5 binary) - 04/03/2005 21:15

If this works (and I'm sure it will) it will be SO appreciated! This has been the number one nusance with my player for a long time. It's just a great way to rediscover music on your player.
Posted by: mlord

Re: set_empeg_max_fid (version 5 binary) - 05/03/2005 02:25

Quote:
You shouldn't fiddle with or move the small, 16-sector allocations in the middle of the list:
(0x00000800, 0x00000010) and its friends.



What about the gap between 0x0820 and 0x1000?

That's a nice 0x7e0 sectors worth of space.. is it really available? I'd like to put bookmark #4 there.

Cheers
Posted by: mlord

Re: set_empeg_max_fid (version 5 binary) - 05/03/2005 03:13

Quote:
>You shouldn't fiddle with or move the small,
>16-sector allocations in the middle of the list:
>(0x00000800, 0x00000010) and its friends.

What about the gap between 0x0820 and 0x1000?

That's a nice 0x7e0 sectors worth of space.. is it really available?

I'd like to put bookmarks 3 and 4 there.
Doing so, the offsets table would then look like this:

before:
00112668: 00000000 00000200 00000200 00000200
00112678: 00000400 00000200 00000600 00000200
00112688: 00000800 00000010 00000810 00000010
00112698: 00001000 00007000 00000000 00000000
after:
00112668: 00000000 00000400 00000400 00000400
00112678: 00000820 000003f0 00000c10 000003f0
00112688: 00000800 00000010 00000810 00000010
00112698: 00001000 00007000 00000000 00000000

EDIT: Oh, wait.. v3alpha8 appears to have a different layout.. but everything from 0x840 to 0x1000 still appears vacant.

I now have an unreleased v7 of the utility now that fiddles the bookmarks to larger sizes using this space.


???
Posted by: peter

Re: set_empeg_max_fid (version 5 binary) - 05/03/2005 18:42

Quote:
What about the gap between 0x0820 and 0x1000?

It's currently unused, but just in case we need some more (this isn't very likely), try just using 0x880...0x1000.

Peter
Posted by: mlord

Re: set_empeg_max_fid (version 5 binary) - 05/03/2005 18:48

Quote:
Quote:
What about the gap between 0x0820 and 0x1000?

It's currently unused, but just in case we need some more (this isn't very likely), try just using 0x880...0x1000.

Peter


Ha! That's what I already chose, and for exactly that reason.

Okay v7 now does all of this nicely. I'll release it sometime this week.

Cheers!
Posted by: mlord

set_empeg_max_fid (version 7 source) - 05/03/2005 22:18

Here is version 7 of set_empeg_max_fid.c

This one does the same max_fid fixes as prior versions, but now also expands the stored running order and bookmarks sizes to handle larger numbers of fids.

Run this on *any* player version to gain support for:

-- running orders (Eg. down-down-down shuffles) of up to 43648 fids, which should now survive reboots with this fix.
-- larger bookmark capacities (a bookmark is merely a saved running order): 43648 fids for bookmark #1, and 40917 fids for bookmarks #2 and #3.

Those features will work regardless of disk size.

In addtion, v7 will automatically reconfigure any slack space at the end of the dynamic data partition on the player (/dev/hda3) for use with fids > 0x6fff, according to available space. The larger the drive, the larger the (free!) gain one typically sees from this.

Cheers
Posted by: SE_Sport_Driver

Re: set_empeg_max_fid (version 7 source) - 05/03/2005 22:20

Thank you, thank you, thank you! You rock Mark. It's like Christmas here!

I'll test it once there is a version ready for the empeg.
Posted by: mlord

Re: set_empeg_max_fid (version 7 binary) - 05/03/2005 22:20

Here is the empeg (executable) binary for set_empeg_max_fid.v7 (attached).

Sample output from one of my players running v2.01:

# /set_empeg_max_fid.v7
set_empeg_max_fid.v7: version 7 by Mark Lord (March 2005)
/dev/hda3: 33264 sectors
New max_fid value will be 29168 (000071f0)
before:
00112888: 00000000 00000200 00000200 00000200
00112898: 00000400 00000200 00000600 00000200
001128a8: 00000800 00000010 00000810 00000010
001128b8: 00001000 00007000 00000000 00000000
after:
00112888: 00000000 00000400 00000400 00000400
00112898: 00000880 000003c0 00000c40 000003c0
001128a8: 00000800 00000010 00000810 00000010
001128b8: 00001000 000071f0 00000000 00000000

Cheers
Posted by: mlord

Re: set_empeg_max_fid (version 7 binary) - 05/03/2005 22:30

And here is similar sample output from a v3a8 player.
Note the extra line of output in both the before and after portions:

# /set_empeg_max_fid.v7
set_empeg_max_fid.v7: version 7 by Mark Lord (March 2005)
/dev/hda3: 33264 sectors
New max_fid value will be 29168 (000071f0)
before:
0017a950: 00000000 00000200 00000200 00000200
0017a960: 00000400 00000200 00000600 00000200
0017a970: 00000800 00000010 00000810 00000010
0017a980: 00000820 00000010 00000830 00000010
0017a990: 00001000 00007000 00000000 00000000
after:
0017a950: 00000000 00000400 00000400 00000400
0017a960: 00000880 000003c0 00000c40 000003c0
0017a970: 00000800 00000010 00000810 00000010
0017a980: 00000820 00000010 00000830 00000010
0017a990: 00001000 000071f0 00000000 00000000

Cheers
Posted by: SE_Sport_Driver

Re: set_empeg_max_fid (version 7 binary) - 05/03/2005 22:32

Worked perfectly! It's been SOO long since I've been able to save my root playlist! Thank you!

Now I just need the balls to run Alpha8 on this thing so I can crossfade.. hehe.
Posted by: bonzi

Re: set_empeg_max_fid (version 7 source) - 06/03/2005 09:21

Sigh, the last excuse for not upgrading disks and memory gone....
Posted by: peter

Re: set_empeg_max_fid (version 7 source) - 06/03/2005 10:27

Quote:
-- running orders (Eg. down-down-down shuffles) of up to 43648 fids, which should now survive reboots with this fix.

It's actually not quite as simple a calculation as that. Each bookmark, including the saved running order, saves both the shuffled and unshuffled order. So the space taken up is 512 bytes, plus 8 bytes per distinct fid (i.e. 8 times the length of the shuffled running order), plus 4 bytes per appearance of each fid (i.e. 4 times the length of the unshuffled running order). Calculations based on "12 bytes per fid" are only accurate if each fid appears in only one playlist. If each fid appears in an average of two playlists, it's 16 bytes per fid -- three playlists, 20 bytes per fid, and so on.

Peter
Posted by: mlord

Re: set_empeg_max_fid (version 7 source) - 06/03/2005 11:53

Right. I figured something like that, thus the up to wording.

In practice, on one of my own players with around 7000 tracks, this can now make a difference on down-down-down shuffles. So one doesn't even need to be in Paul's league to benefit.

Cheers
Posted by: pgrzelak

Re: set_empeg_max_fid (version 7 source) - 06/03/2005 13:16

Although, it certainly helps. Thanks again!!!
Posted by: peter

Re: set_empeg_max_fid (version 7 source) - 06/03/2005 16:57

Quote:
Although, it certainly helps. Thanks again!!!

You know, even though many of the usual suspects seem to be reading this thread already, it's probably worth a new thread somewhere titled as a cure for forgotten down-down-down running-orders -- it seems a shame to have such useful hackery hidden in a thread apparently about memory boards.

Peter
Posted by: drakino

Re: set_empeg_max_fid (version 7 source) - 06/03/2005 18:14

Quote:
it's probably worth a new thread


Done. tearing this subthread out where I did seemed to be the cleanest way to do it without duplicating posts. Forgot the new board lets me do that easially.
Posted by: SE_Sport_Driver

Re: Patching the Player for more dynamic FIDs - 06/03/2005 18:17

Forgive my "gushing", but I am just LOVING the fact that I can start shuffleing the root playlist again!
Posted by: mlord

Re: set_empeg_max_fid (version 7 source) - 06/03/2005 23:18

Cool! Thanks, Tom!
Posted by: frog51

Re: set_empeg_max_fid (version 7 binary) - 15/03/2005 17:46

Not getting this to work at all. When I run it I get:

empeg:/# ./max_fid.v7
max_fid.v7: version 7 by Mark Lord (March 2005)
/empeg/bin/player: Text file busy
empeg:/#

What would this mean?
Posted by: mlord

Re: set_empeg_max_fid (version 7 binary) - 15/03/2005 18:44

That would mean you should first kill off the player app (serial port: control^C) before trying to modify it.
Posted by: frog51

Re: set_empeg_max_fid (version 7 binary) - 15/03/2005 18:58

Darn - I was afraid of that. Now I need to go and find that serial cable

Cheers Mark
Posted by: wfaulk

Re: set_empeg_max_fid (version 7 binary) - 15/03/2005 19:04

Just kill -2 <pid>
Posted by: mlord

Re: set_empeg_max_fid (version 7 binary) - 15/03/2005 19:07

It can be done entirely over FTP if really necessary, just requires a few more hoops to jump through:

-- remount rw: site rw
-- rename the existing /empeg/bin/player to something else
-- make a new copy of it under the original name
-- chmod 755 on the new copy (original name)
-- delete the original (now renamed) file (yes, you can do that even while it is still running)
-- patch the new one (original name)
-- remount ro: site ro
-- reboot: site reboot

Cheers
Posted by: frog51

Re: set_empeg_max_fid (version 7 binary) - 15/03/2005 21:31

Sounds reasonable, but I bet I could have messed up something trying those steps (can you tell I used to be a programmer, so instead I spent 15 minutes looking for the cable and now all is well.

I only have 14000 tracks so hadn't had a fail on down, down, down - but it seems to cope with it faster now. There used to be a significant pause before.

So, many thanks!
Posted by: frog51

Re: set_empeg_max_fid (version 7 binary) - 15/03/2005 21:32

ahhh - never thought of trying -2, and obviously -9 just kept respawning
Posted by: tman

Re: set_empeg_max_fid (version 7 binary) - 15/03/2005 22:54

Faster? There shouldn't be any speed difference.
Posted by: mlord

Re: set_empeg_max_fid (version 7 binary) - 15/03/2005 23:27

I dunno where any speed difference would come from.

But "only 14000" tracks is plenty enough to benefit. If each track appears in two playlists, that's a shuffle of 28000 on down-down-down.. well past the previous player limitations here.

Cheers
Posted by: frog51

Re: set_empeg_max_fid (version 7 binary) - 16/03/2005 07:50

It always seemed to pause and wait - when I had only a few tracks on and pressed down/down/down, I'd get the hourglass then it would go straight into the new playlist.

With many tracks there would be a pause in the music, after a long period of time with the hourglass.

Now the pause is gone again
Posted by: tman

Re: set_empeg_max_fid (version 7 binary) - 16/03/2005 12:28

If anything, it should be a tiny fraction slower if you've got a huge playlist. Before it'd truncate your playlist when it ran out of room but now the playlist area has grown so it will write more.
Posted by: frog51

Re: set_empeg_max_fid (version 7 binary) - 16/03/2005 12:58

wonder if it was truncating and getting upset about it before? I know sometimes after uploading new tracks the rebuild database would fail, and I'd need to pull power, wait for the empeg to do its long rebuild, then resync with emplode - that no longer happens (or has not yet, even though I added 200 tracks last night)
Posted by: Taym

Re: set_empeg_max_fid (version 7 binary) - 17/03/2005 22:07

Quote:
It can be done entirely over FTP if really necessary, just requires a few more hoops to jump through:
...
-- patch the new one (original name)


Mark, how can I do this? I am afraid I'm missing the proper command. I could do all up to that step. I have the set_empeg_max_fix.v7 in /empeg/bin/player , but then?

Posted by: mlord

Re: set_empeg_max_fid (version 7 binary) - 17/03/2005 22:26

Quote:

Mark, how can I do this? I am afraid I'm missing the proper command. I could do all up to that step. I have the set_empeg_max_fix.v7 in /empeg/bin/player , but then?



Just run the set_empeg_max_fix.v7 program (no args required).

But your original text worries me.. /empeg/bin/player is a file, not a directory. It's not possible to have set_empeg_max_fix.v7 "in /empeg/bin/player", unless the instructions messed you up somewhere..

Cheers
Posted by: Taym

Re: set_empeg_max_fid (version 7 binary) - 17/03/2005 22:39

Sorry, I meant set_empeg_max_fix.v7 is in /empeg/bin/

But now I have my ftp client open on /empeg/bin . What should I type at the command prompt?
Posted by: mlord

Re: set_empeg_max_fid (version 7 binary) - 17/03/2005 23:10

site rw
cd /empeg/bin
chmod 755 set_empeg_max_fix.v7
site exec /empeg/bin/set_empeg_max_fix.v7
site ro
site reboot
Posted by: Taym

Re: set_empeg_max_fid (version 7 binary) - 18/03/2005 00:11

Thank you thank you. I worked perfectly! Sorry, I also realized you had mentioned the SITE EXEC command before.

Now that I think about it, is this also fixing the random-marked fids bug? Were those two issue related?
Posted by: tman

Re: set_empeg_max_fid (version 7 binary) - 18/03/2005 00:51

Quote:
Now that I think about it, is this also fixing the random-marked fids bug? Were those two issue related?

Nope and nope.
Posted by: MRB

Re: set_empeg_max_fid (version 7 binary) - 17/04/2005 12:55

Hi Guys - I am new to this scene and have just bought an empeg and I have today managed to upgrade to 2 x 80Gb drives, I have read this thread numerous times and I dont seem to be able to get it into my thick skull, can someone please give me a basic step by step explanation on how to complete this.
Also I have aquired an illumination Kit and I wondered if there was anyone in the UK who could do the fitting?
Posted by: Robotic

Re: set_empeg_max_fid (version 7 binary) - 30/09/2006 17:01

Quote:
Hi Guys - I am new to this scene and have just bought an empeg and I have today managed to upgrade to 2 x 80Gb drives, I have read this thread numerous times and I dont seem to be able to get it into my thick skull, can someone please give me a basic step by step explanation on how to complete this.


Curious- MRB's post shows a time of 06:55 17/04/2005 in the thread, but 19:30 29/09/2006 in the main index.

Meanwhile, I, too, would greatly appreciate a "layman's" version of the maxfid fix! I'm nearing 20k tracks and still have 40GB free on my dual 60GB empeg. I'm truly impressed with the programming effort shown in this thread (ok- all over this BBS, too!) and wish I could follow along to enjoy the benefits.
Posted by: pgrzelak

Re: set_empeg_max_fid (version 7 binary) - 30/09/2006 17:18

Greetings!

I am not quite sure what you mean by a "layman's" version, but will this help?
Posted by: Robotic

Re: set_empeg_max_fid (version 7 binary) - 30/09/2006 17:49

Quote:
Greetings!

I am not quite sure what you mean by a "layman's" version, but will this help?

Yes, Paul! Thanks! I was just reading that one, too!