Rockbox

  • Status Unconfirmed
  • Percent Complete
    0%
  • Task Type Patches
  • Category Settings
  • Assigned To No-one
  • Operating System Another
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.8.1
  • Due in Version Undecided
  • Due Date Undecided
  • Votes 1
  • Private
Attached to Project: Rockbox
Opened by tenfoot - 2011-04-19

FS#12074 - Add setting to enable/disable lineout on Sansa Fuze V2

This patch allows the line out on the Sansa Fuze V2 to be enable/disabled by means of the existing Lineout poweroff setting (previously used on some iPods).

By assigning this setting to the quickscreen I can switch between headphones and lineout after plugging into the dock. Still no luck in finding out how to autodetect the dock.

I'm not 100% sure that re-using the "Lineout Poweroff" setting is the right thing to do here as it's not powering on/off the line-out - just switching between headphones and line out

The lineout poweroff settings should be used to physically switch off the lineout. This can be useful on devices which consume power even though the lineout is not used (e.g. happening on the iPod Video). The setting should not be used to switch between variable and fixed output level.

On the Fuze V2 it's a choice between line out or headphones - you can either have headphones at whatever level you want or lineout at 0dB.

If this isn't an appropriate use of the lineout power off setting, then I guess I can add a new lineout setting for the Fuze - would be just duplicating the existing setting though.

Just wanted to say that I've been using this on my Fuze V2 with Griffin PowerBlock and it works great.

It's not much hassle activating it using the quickmenu, but if autodetection could be added, that would be perfect. Ideally the autodetection could also disable crossfeed (great on headphones, not needed with speakers)… but I'm probably just dreaming now!

Admin

I picked up a "line out" dongle thingey on ebay, and I can confirm it works with the stock firmware.

It works by pulling pin 7 high, and it uses pin 22 to supply the juice.

I have no idea where those pins are wired – if someone has a bare board they may be able to trace those pins to the appropriate places on the AMS chip and figure out which GPIOs they correspond to. I couldn't find any high-res scans on the rockbox wiki.

in button_fuzev2.c, I tried forcing the "unknown" GPIO[ABCD]_DIR lines high, but I didn't see any change with/without the dock attached (using the debug/IO menu)

Before: (GPIO_DIR for A/B/C/D)

21 3F 00 00

After:

21 3F C1 7F

This patch works great. When the line out system setting is assigned to the quick menu it is very handy and easy to use indeed. The question that is being begged here is why is this code not part of the official Rockbox build for the Sansa Fuze V2 (at least until the time comes when it is discovered how to implement dock auto-detection by more traditional means)???

Admin

I've updated my build for those interested:

http://www.shaftnet.org/users/pizza/rockbox-sansa_fuze_v2-99f20b-lineout.zip

I'd love to see this patch integrated too – or better yet, auto-detection, but I have no idea how those pins are hooked up to the AMS chip, and I don't want to sacrifice my Fuze for this..

(Hmmm, maybe I can find a broken one on ebay..)

Solomon: if you want to post builds, the forums are probably a better place then the patch tracker. Theres a section for patched rockbox builds for instance. The patch tracker is generally for development discussion.

I want to thank Solomon as well for posting his patch and also echo his sentiment that this feature should be integrated into the build.

Then there would be no need for him to post patches here or on the forum anymore.

I expect that there are plenty of Rockbox users out there with Fuzes and Griffin docks (as these were blown out through retail overstock places like Ollie's) that need this functionality. Please make It part of the base build code.

Hi Rawl,

We won't be including this in the main build until someone reverse engineers the mechanism for detecting if a line out dock is connected.

Admin

First, It's not my patch, but rather Rob Walker's. I just built it a couple of times as an interested party. I posted the link here because people were emailing me directly for the build.

As far as dock detection is concerned – We know the dock works by shorting pin 22 to pin 7. Pin22 is already set high, but I don't know where pin 7 goes, and I can't find that out without destroying my FuseV2 in the process.

Somewhere there are the bare FuseV2 PCBs that were used in the original port, and that would be quite handy with a multimeter. Or a broken one. Or one slated for sacrifice..

- Solomon

Admin

Found a busted one on ebay for cheap. I'll have it in a week, and hopefully I'll be able to figure out what's what.

Solomon,

I think a broken player may not tell you much, since you will only be able to trace pins as far as the SOC package, and all the interesting things are inside the packaging. Although maybe we'll get luck and its a pin shared with the display or USB that you can infer the routing of. On some of the older AMS chips, the display peripheral ('DBOP') was used as a backup GPIO so that is a possibility.

Looking at the firmware disassembly may be more fruitful though.

Admin

I'm hoping that knowing which SoC pin is used will at least narrow down the search. (I'm already 95% certain it's not hooked up via a regular GPIO line, so the DBOP is probably it)

I have enough experience with disassembly to know that it's an arduous task even when one is familiar with the hardware. Granted, I know the register that controls the line out, which at least gives me something meaningful to start my search on.

Admin

Is there a datasheet for the AS3525v2? I can't seem to find anything on AMS's site. What information source was used to determine the differences between the v1 and v2?

(I'm trying to enable the DBOP reading for the Fuzev2)

There's no data sheet. The v2 port was done entirely by reverse engineering the Sandisk firmware to infer what was changed. There is some documentation in the source code for the v2 devices.

Admin

I've attached a rebased version of the original patch for those still interested.

A correspondingly updated build is here:

http://www.shaftnet.org/users/pizza/rockbox-sansa_fuze_v2-540e5d1-lineout.zip

(I finally have a working fuzeV2 again – and four dead ones on my desk. joy…)

Thank you Solomon – you rock!!!

It's a shame that after so many years it seems we're still no closer to getting LOD for the v2. I'd love to be able to use it to save the headphone jack some wear, but given that I can't even find LOD adapters for sale anymore, it may be a moot point. Still, hopefully someone will be able to figure it out someday before the project dies.

Admin

Eh, it's not really fair to complain that nobody's taken the (considerable) time needed to reverse engineer the firmware to figure out what complicated trick is needed to detect the line out signal. Especially on hardware that hasn't been manufactured in over a decade.

FWIW I'm up to six dead Fuze v2s now. The hardware was anything but robust… but now I'm thinking that it might be worth sacrificing one of them to trace the LoD signal to a specific package pin..

Never had any problems with mine and have a sealed one just in case. I couldn't live without it. I really wish they'd remake it, perhaps adding Bluetooth. I'm just so used to Rockbox anything else feels… wrong.

Joseph G,

I still use mine as well. I just recently purchased a reconditioned 4.2 Bluetooth transmitter / receiver (all in one) through Amazon for less than $ 10 including shipping. It is a TaoTronics TT-BA07 Bluetooth Stereo Audio Music Receiver and Transmitter 2-In-1 Adapter for Audio Devices (Renewed) from Amazon vendor Sunvalley Brands.

This little box is re-chargeable and is so small that it fits in my little Fuse case right behind the Fuse player itself. And it came with a little 3 inch audio jumper cable that allows it to plug directly into the Fuse without a lot of extra cord hanging out.

I agree that it would be nice to get Sandisk to make a new Fuse with bluetooth but I doubt that will happen. Meanwhile for less than $ 10 I have given mine extended life…

Rawl

I have a TROND Bluetooth adaptor. I'm wondering if I should update it since they've improved the version a bit since then.

I'm just hopeful that development doesn't stagnate on this issue. I just wish I had more technical experience to lend a hand with the process.

Admin

Unless someone is willing (and able!) to spend some serious time reverse-engineering the original firmware binaries, don't expect meaningful technical progress on this.

That said, sitting in gerrit is an updated version of this patch, and if you'd like I can roll you an updated build.

I think in the long run I'll need to learn how to apply the patches myself since I tend to run the daily builds. Would also give me something to do. Tried learning based on the wiki posts but got a bit lost. Any helpful guides and such would be great.

It's a bit moot since I still haven't had any luck finding a LOD cable and lack the time/tools to make my own. If I ever get one, I might have to ebay hunt for a v1. It's mainly a bother since I have OCD and prefer my things in good shape, and most of what I find is banged up.

I'm curious as to why the updated version can't be added to mainline, since it's unlikely we'll ever have the proper fix. It just seems a shame, even more so since most players are the v2, and even managed to get it working in v1.

Long story short, if you know where or have a LOD for sale, I'd be interested. I also have a Fuze with a broken trackwheel if anyone needs parts, and a bunch of Clip+ for parts.

Hopefully we can make some progress on this against all odds, in any case.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing