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