Tonight on "ah what can I do with this?" - I picked up a Mood Media ProFusion iS on ebay for peanuts. If nothing else, I got a 16GB CF card out of it.
Looks like the software is on an internal Flash memory, but the SD is used to store media... and software updates.
Helpfully there are three deleted ones on the filesystem, so I have the root cramfs image and kernel :)
So far I've seen some familiar faces... 2.6 Linux kernel, Broadcom Nexus and brcmstb drivers... i.e. it's a Broadcom MIPS STB.
Conversation
Notices
-
philpem (philpem@digipres.club)'s status on Friday, 17-Jan-2025 01:02:45 JST philpem - polprog68k likes this.
-
philpem (philpem@digipres.club)'s status on Friday, 17-Jan-2025 01:02:52 JST philpem Anyway this is the player itself. And yes, the configuration is indeed XOR "encrypted". The good news there is, I can copy the SD card and change the feature lockouts to enable everything.
I think the firmware is stored on an internal Flash memory, but configuration and media are on the SD card.polprog68k likes this. -
philpem (philpem@digipres.club)'s status on Friday, 17-Jan-2025 01:03:17 JST philpem I'm finding out more and more about this thing - it seems like it has audio watermarking too. I'll look at that later, but it does some interesting stuff with the KISS FFT library.
-
polprog68k (gorplop@pleroma.m68k.church)'s status on Friday, 17-Jan-2025 01:03:17 JST polprog68k @philpem I am curious about the audio watermarking feature -
philpem (philpem@digipres.club)'s status on Friday, 17-Jan-2025 01:24:15 JST philpem @gorplop I did some digging over lunch and it seems like it was some kind of ad linking scheme that tied in with Spotify.
polprog68k likes this. -
philpem (philpem@digipres.club)'s status on Friday, 17-Jan-2025 02:51:43 JST philpem So why would you do it that way ... well this card has seven months of music on it, with playlists.
As any retail worker will tell you, the most annoying thing is having the same shop music running day-in day-out. Working with a manager who insists on having Wham on repeat for the whole Christmas month is at best torture and at worst a war crime.So they provide a selection of songs following a theme, and make 7 months worth of playlists. New CD every 6 months, and a month of slack.
polprog68k likes this. -
philpem (philpem@digipres.club)'s status on Friday, 17-Jan-2025 02:51:44 JST philpem Next up are the actual soundtrack files -
1.CBF is empty
1.MSG is info about the in-store announcements ("blue light special..."
PRF is video output preferences
SSF is scheduling (MSC= is the scenario ID from the UPF file, ST is start time)
ZIF is the zone configuration - which for this box is "media type 0, channel 0". I think there's a way to specify stereo output but at the moment I'm not sure how. -
philpem (philpem@digipres.club)'s status on Friday, 17-Jan-2025 02:51:44 JST philpem But how are the songs specified? Well that's the SPF file. "18209166.SPF", i.e. named after the Scenario ID in SETTINGS.UPF.
This contains some header information (scenario name, version, sequential/shuffled) - then a bunch of songs. Each song has an ID (filename), length in seconds, song title, artist name, album title, label and composer.
After that it has a bunch of "sequence" data - song count, date, then a bunch of what I assume is the song ID followed by a start time.
-
philpem (philpem@digipres.club)'s status on Friday, 17-Jan-2025 02:51:45 JST philpem After a little more work, I have the rest of the configuration decryption working. This is AES-128, which sounds great, until you realise it's AES-128-ECB. This is slightly better than XORing every byte with Nickelback lyrics, but only just.
edit: the one "file too small" is a text file. It contains the configuration 'issue' or version number
-
philpem (philpem@digipres.club)'s status on Friday, 17-Jan-2025 02:51:45 JST philpem Looking at the settings files...
.BLF - empty
.DLF - device activation (whether active, expiry date and expiry uptime)
.NET - network settings (whether the Ethernet port or WiFi are enable)
.NIF - empty
.SIF - system information. Device ID, customer, location, site and location numbers, timezone, physical address.
.ULS - empty XML file
.UPF - "Profile" - which UI features are enabledNow you know how I know this box came from a bankrupt Dorothy Perkins branch... (that and the announcements)