Support and General Use > Hardware

Pictures of the Surfans F20 with a firmware version 2.7

(1/1)

Trzyzet:
Hello everyone,
My iPod video, rockboxed since 2013 died 3 weeks ago and as a replacement I bought a Surfans Player.
The version which arrived has a USB type C socket and is running 2.7 firmware. I'm a really bad coder but I'm much better with electronics so immediately when I received the device I opened it and made some pictures.










The DAC is a ES9018K2M, that's quite a good one.
https://www.esstech.com/wp-content/uploads/2021/04/ES9018K2M-Datasheet-v3.6.pdf

Amplifier IC is a HT97220. If the parameters from datasheet are real, the amp is pretty solid.
https://www.heroic.com.cn/public/uploads/file/20191114/1573714668189952.pdf

Stereo switch is the WSP6580Q.
http://www.wecorp.com.cn/UploadFile/201612120130099809.pdf

PMIC is an AXP192, just a most standard PMIC for all the chinesium out there.
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/AXP192_datasheet_en.pdf

Encoder (the spinning wheel) is an ALPS SRGP400200
https://pdf1.alldatasheet.com/datasheet-pdf/view/329243/ALPS/SRGP400200.html

NAND used in this particular player is the Winbond 25N01GVZEIG.

Bluetooth assembly is based on the Qualcomm CSR8811, has a full linux support.
I have no idea what is 1421 next to the USB.
I also was able to completely unpack the 2.7 firmware with all the themes, fonts, configs etc.

dconrad:
Interesting! I had no idea they actually changed the DAC, Stereo switch, and it looks like found a compatible HP amp? And I didn't know they had put USB-C on this.

The fancy DAC and USB-C actually do sound pretty nice. Looks like they're trying to go "up-market" with it. Though the amazon listing I see does still show the original DAC. Did the listing you bought it from specify the changes?

So for the native port... Knowing that, we will probably need to figure out what all GPIO things changed, if any capabilities (DAC/amp HW volume?) have been changed, and if the DAC still needs the hack to defeat the automute (I'm going to guess it doesn't). Oh yeah, and I would hazard a guess the USB stuff we have won't work, what with it being USB-C and all. Unless it isn't really USB-C but just using the plug... Which wouldn't really be a bad thing I think, it is supposed to be mechanically much better.

Trzyzet:

--- Quote from: dconrad on December 27, 2022, 10:51:17 AM ---Interesting! I had no idea they actually changed the DAC, Stereo switch, and it looks like found a compatible HP amp? And I didn't know they had put USB-C on this.
--- End quote ---

PCB has been changed quite significantly, especially MAX amp IC has different package than the HT97220. I think it was simply cheaper to make a new PCB and use the HT because is not only a lot cheaper than MAX but also MAX gets quite old and there can be difficulties with obtaining batches for mass production.


--- Quote from: dconrad on December 27, 2022, 10:51:17 AM ---The fancy DAC and USB-C actually do sound pretty nice. Looks like they're trying to go "up-market" with it. Though the amazon listing I see does still show the original DAC. Did the listing you bought it from specify the changes?
--- End quote ---

There was no information about the changes on the amazon but I was really surprised they used type C connector, that's my favorite change. I don't have older player to compare the sound quality etc. but I think a new DAC is better than the TI mounted in older revisions.


--- Quote from: dconrad on December 27, 2022, 10:51:17 AM ---So for the native port... Knowing that, we will probably need to figure out what all GPIO things changed, if any capabilities (DAC/amp HW volume?) have been changed, and if the DAC still needs the hack to defeat the automute (I'm going to guess it doesn't). Oh yeah, and I would hazard a guess the USB stuff we have won't work, what with it being USB-C and all. Unless it isn't really USB-C but just using the plug... Which wouldn't really be a bad thing I think, it is supposed to be mechanically much better.
--- End quote ---

That should be very easy. Player is linux based and has been built in a buildroot (set of tools to make simple embedded self-contained distros) We need to dig into the sysfs (/sys/class/gpio/) or /dev and there should be all the configs that we need. The problem is update files doesn't have anything there, most likely that info is stored elsewhere or is uploaded with initial firmware in the factory.
In case of USB - the 1421 IC is related to it but I have no idea what that chip does.

amachronic:

--- Quote from: Trzyzet on December 27, 2022, 12:32:00 PM ---
--- Quote from: dconrad on December 27, 2022, 10:51:17 AM ---... Oh yeah, and I would hazard a guess the USB stuff we have won't work, what with it being USB-C and all. Unless it isn't really USB-C but just using the plug... Which wouldn't really be a bad thing I think, it is supposed to be mechanically much better.
--- End quote ---

... In case of USB - the 1421 IC is related to it but I have no idea what that chip does.

--- End quote ---

USB should work out of the box, after all it's the same USB 2.0 controller on the SoC side. Maybe they added something extra for charging but IMHO it's unlikely.

Trzyzet:
Trying to figure out how the internal devices are connected and I'm tinkering with an ADB interface built-in into the firmware.
Because player is Linux based the easiest way will be to read what's into the /sys/module:

--- Code: ---~$ adb shell ls /sys/module
block               hid                 rcutree             snd_usb_audio
bluetooth           hidp                rfcomm              spurious
bnep                jzmmc_v12           rfkill              sysrq
bt_power_bluesleep  kernel              sa_config           ubi
configfs            keyboard            scsi_mod            ubifs
dwc2                mmc_core            snd                 uinput
firmware_class      mmcblk              snd_asoc_dma_v12    usb_storage
fscache             ntfs                snd_asoc_i2s_v13    usbcore
fuse                printk              snd_asoc_pcm_v13    usbhid
g_android           random              snd_pcm             vt
hci_uart            rcupdate            snd_timer           workqueue

--- End code ---
I completely forgot this player reads ntfs partitions but there is nothing interesting. Let's try /sys/devices/platform:

--- Code: ---~$ adb shell ls /sys/devices/platform
alarmtimer          jz-asoc-pcm-dma     jz-sfc.0            reg-dummy
bt_power            jz-dma              jz-uart.0           sa-config
gpio-keys           jz-dwc2             jz-uart.2           sa-ring-keys
gpio-sw-regulators  jz-fb               jzmmc_v1.2.0        sa_information
ingenic-erosq.0     jz-i2c.1            pcm dump            sa_sound_switch.0
jz-asoc-aic         jz-i2c.2            pcm5102.0           snd-soc-dummy
jz-asoc-aic-dma     jz-pwm              power               uevent
jz-asoc-pcm         jz-rtc.0            pwm-backlight.0     wdt_reset.0

--- End code ---
And lets try to check contents of the ingenic-erosq.0 folder:

--- Code: ---~$ adb shell ls /sys/devices/platform/ingenic-erosq.0
driver                modalias              subsystem
erosq-es9018_k2m-i2s  power                 uevent
erosq-es9018_k2m-pcm  sound

--- End code ---
We can see es9018 which is our newer DAC!

That's only example how ADB can be used to access to the F20 OS, there is a way more to discover, maybe me or someone will dig up to the volume control.

Navigation

[0] Message Index

Go to full version