# Fine3399-Official **Repository Path**: pylixm/Fine3399-Official ## Basic Information - **Project Name**: Fine3399-Official - **Description**: Fine3399官方网站(gitee中文版) - **Primary Language**: Shell - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2024-04-01 - **Last Updated**: 2024-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Fine3399 官方网站 ![alt banner](./imgs/banner.gif "banner") Fine3399 - one final RK3399 geek board ```Java try{ Get a machine with sw799 core board; Disassembly the machine; }catch(the SW799 core board){ Modify the circuit to enable PCIE 2.0 (optional); Change the EMMC to get large storage space (optional); Get a Fine3399 motherboard; Assemble them; }finally{ Have fun with your Fine3399! } ``` ## 1. Fine3399简介 Fine3399是rumu3f设计的一个多用途嵌入式主板 ![alt top](./imgs/interfaces.jpg "top") ![alt front](./imgs/panel1.jpg "front") ![alt back](./imgs/panel2.jpg "back") ### 1.1 具体参数 项目 | 配置 ----|-------- CPU | RK3399 (A72\*2+A53\*4) RAM | 4GB EMMC| 8GB/16GB/64GB/128GB LAN1| 千兆网 LAN2| 千兆网(USB3.0) HDMI| HDMI 2.0(支持4K) TF | TF卡槽 NVME| M key, PCIE 2.0 2X USB | USB3.0\*1, Type C\*1(OTG) SPI | flash\*0/\*1(选配), LCD\*0/\*1(选配) FAN | 4针PWM插槽(风扇选配) POWER| DC 12V 5521插口(电源选配) KEY | 开机键、恢复键 LED | 双LED(可定制) RTC | 2pin时钟电池插座(电池选配) ### 1.3 产品特点 Fine3399由底板和核心板组成。 #### 核心板 Fine3399采用bozztek的SW799系列核心板,处理器为RK3399,RAM大部分为4G(有极少数2G),EMMC原配的有8G和16G两个版本(其他尚未发现)。该核心板具有以下特点: ##### (1)功能全 核心板具备板载Wifi/蓝牙芯片和RTL8211网络芯片,并且拆除/补焊10个阻容后可以开通PCIE功能,属于全能型核心板。 ##### (2)体积小 尺寸为5.2*6.8厘米,这就使配套底板不用做的太大。 ##### (3)易刷机 核心板采用Rockchip的处理器,有Maskrom救砖模式兜底。并且上边有两个大触点(可以补焊轻触开关),短接后上电就可以进入Maskrom模式。 ##### (4)性能尚可,性价比高 RK3399是一个比较老的型号,黄鱼上的价格比较低。不过得益于两个A72大核和4个A53小核,单论处理器性能尚属主流,比常见的四小核处理器(S905系列、RK356X系列)要高一截。性能同级别或更高的S922X、A311d系列、S928X、RK3588系列的价格都远超RK3399。 ##### (5)易获取 对于个人玩家来说,能够以适当的成本获取核心板是很重要的事情。该核心板一般源于淘汰的收银设备,原配底板设计目标为满足收银机需求即可,通常缺少USB3.0、HDMI等接口,直接再利用价值较低,因此市场价格相对和谐。 **友情提醒:已接触到的原厂家的底板中,只有SW7990E的HDMI口真的是HDMI,其余请不要急于接到电视或者显示器上,最好测试后再动手。已经有显示器/采集卡烧毁的案例了。** #### 底板 Fine3399底板尺寸为9.4*7.9厘米,和2.5寸移动硬盘大小差不多的尺寸上提供了以下功能: ##### (1)4针PWM风扇支持 底板能够使用4针PWM风扇,可以通过较简单的方式实现温控调速。 ##### (2)NVME接口 提供M2 M key接口,支持2280NVME硬盘,兼容性良好,很多小牌硬盘也能正常使用。 ##### (3)SPI flash 选配的SPI flash芯片可以提供额外的可能性,例如EFI启动、NVME启动等(当前并未实现)。 ##### (4)SPI 屏幕 可以连接SPI接口的彩色屏幕,显示一些重要信息,提供了额外的可玩性。 ##### (5)双千兆 两个千兆接口在一些场景中有特殊意义(请喊出那三个字)。 ##### (6)上电自启、软关机 默认是上电自启,且支持软关机,关机后power按钮长按也能开机。很多开发板关机=重启,需要靠断电关机,这对存储设备上的文件(含固件)并不友好。 ##### (7)HDMI2.0、红外接收头和USB3.0 支持4K,支持红外/USB/蓝牙遥控,能接USB接口的移动硬盘或者BD光驱,拿来看个电视也是可以的。 ### 1.4 产品故事 Fine3399底板是rumu3f设计的,从主板到外壳和散热都打磨了很久才定型。背后则是游戏机大佬(RK3399掌机)提供了初设和一些技术支持。此外还有很多大佬提供了帮助。 #### (1)起源 很久很久以前,RK3399主板的价格比树莓派4还要高一些。忽然有一天,市场上出现了一批淘汰的收银机,使用的核心板是RK3399的。价格便宜量又足,并且有较高的二次开发价值,很快就被玩家们抢购一空。这个核心板就是SW799。 #### (2)艰难探索期 由于没有SDK,没有原理图,不知道每个pin的定义,很难再利用,这款核心板陷入了要翻车的险境。很多大佬在黑暗中摸索了许久,甚至有拆了CPU用万用表一个触点一个触点去测试每个pin的定义的。最终通过咸鱼获取的PCB资料解决了这个问题!再后来,初步摸清主要pin的定义后,又遇到了PCIE无法使用的问题:虽然金手指上有PCIE的pin,但是怎么也无法启用。后来有大佬分析原理图找到了诀窍(似乎是游戏机大佬?),拆除2个排阻、补焊8个0201阻容就可以了,终于攻克了最后一关。 #### (3) 早期的底板 接下来就是设计新的底板了。最初设计底板的大佬有两位,一个是明轩大佬,设计了一个目标是配合5G上网卡使用的底板,这款板子已经开源。还有一位是游戏机大佬,曾经在嘉立创开源了一个网管交换机,想把方案移植一下配合这个核心板试试看,于是做了一个适用于这个底板的3网口底板的初设。这是最初成型的两个底板。之后将底板之路贯彻到底的是rumu3f同学,当然游戏机大佬以及其他大佬在幕后提供了很多帮助。 #### (4)Fine3399出世 在早期抢购载有SW799核心板的设备的同学中,rumu3f可能是比较努力的一名,也是为这个核心板的再利用付出努力最多的一名。由于没有合适的底板(原配一般缺HDMI和NVME,甚至USB3.0也缺),SW799的销路很长时间并不算好。于是压力就变成了动力,花了一年多的时间征集意见(人均JS的TN3399群出了很多好点子)、修改验证,完成了Fine3399底板和CNC盒子及散热。虽然量产之路颇为曲折,但是完成度还是很好的,带屏幕和CNC壳子最初亮相时还是挺惊艳的。 当然rumu3f同学的进度有一些波折,人均JS的TN3399群友已经坐不住了!这时候某不知名JS null同学在知名群JS Jack、群焊工Liao的帮助下进行了授权量产,开始小规模供应。固件则是靠rumu3f同学、游戏机大佬、长风大佬、格德米斯同学等人帮忙拼凑了数种,总归是初步可用。由于物料和原版有轻微差异,CNC盒子也有点贵,所以出现了面板有轻微差异的纯铝基板盒子、3D打印盒子还有门窗铝管盒子,各有特色。简单来说,就是挺阳春也挺山寨的,不过能用就好了嘛。 ![阳春版盒子ver1](imgs/%E9%98%B3%E6%98%A5%E7%89%88%E7%9B%92%E5%AD%90.gifQQ%E7%9F%AD%E8%A7%86%E9%A2%9120230915235726_20239160045%5B00_00_01--00_00_21%5D.gif) 补充:后续出来了廉价CNC盒子,这是一个使用4块钱的CNC盒子(其他人的剩余物资,比完美长度短2mm)和3D打印面板(凑出那2mm来)的廉价解决方案。这款盒子无法安装散热器,仅靠壳体散热,跑openWRT只要不一直满载问题不大。直接使用2011服务器散热片作为壳体的尝试因为钻头总是折断暂时无法继续。 ![阳春版盒子ver2](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240113221743.jpg) #### (5)名称的来历 一开始的时候,这个底板还没有正式名称,一般叫“(SW799)新底板”或者“(SW799)双网口底板”,dts最早也采用的是sw799这个名称。后来,某一种原厂底板(总共很多总,总之编号到了SW7990K)的dtb文件被提交到了ophub。dtb是不能随便混用的,于是TN3399群的JS私下商议,干脆叫Fine3399以作区分,更过分的是null在授权生产时直接贴了Fine3399的序列号。于是就成了既定事实。 Fine3399这个名字实际上是有深意的。3399很明显是源于RK3399,fine这个单词大家小学或初中应该都学过,“fine, 三克油”对不对。不过,这里实际上取的是意大利音乐术语的含义,表示音乐结束、曲终。RK3399从2016年发布到现在已经走过了8个年头,虽然说得上是老当益壮(全靠新出的A53、A55四核衬托),但怎么说也差不接近于EOL,不至于再有太多新品出现,到了曲终人散的时候了。淘汰下来的RK3399设备将何去何从?Fine3399显然可以作为其中一部分的最终归宿。Fine3399,就是*最后的3399*的意思。 ## 2. 使用说明 分为两步: (1) 烧录固件 可参考[文档超人xiayang0521的gitee](https://gitee.com/xiayang0521/berrybaseboard-test)。 (2) 开玩 可以在QQ群 **FINE3399 食堂机13.3寸改便携** (641620327)进行经验交流。 ## 3. 如何购买 **直接可用的套装可以找群JS Jack购买,黄鱼搜Fine3399就能找到** 或者自己搞个SW799核心板,再买个Fine3399底板也是可以的。 ### 3.1 SW799核心板 #### (1)找群JS Jack买(找底板链接即可) [改好PCIE的sw799核心板 4GB RAM 16/64/128GB EMMC](https://m.tb.cn/h.5U4YQZh?tk=DvvidzNd4BY) #### (2) 买个带SW799的淘汰机器自己拆\* \* 需要自己改电路以启用PCIE #### (3)去找bozztek买核心板\* Bozztek是原厂,需要B2B采购核心板的, 可以试着联系[bozztek](http://www.bozztek.com/)。用1688可能更方便(客服很勤奋的,赞一个!) \* 需要自己改电路以启用PCIE ### 3.2 Fine3399底板 #### (1)黄鱼直接搜 例如[群JS Jack的店铺](https://m.tb.cn/h.5U4YQZh?tk=DvvidzNd4BY) #### (2)购买DIY套装(暂未上市) 买PCB和元件自己焊,适合经常折腾的人,不考虑时间成本价格会比较低。 #### (3)商业合作 目前是个人用户DIY产品,总共也就小几百片。如果需要购买方案,可以尝试联系rumu3f,或者等开源也行。 ## 4. 已知问题/疑难解答 - 使用廉价CNC盒子时,应当先把导热垫贴到盒子底部,然后再放主板,否则盒子无法起到散热作用,还会变成闷罐 - 2023-12 ophub部分新内核无法启动,RK3399设备大量遇到这个问题,后续版本应该会解决 - **2023-12 部分固件不能在RK Tool中有效清空EMMC,经常还是进入Loader,必要时可以使用Ubuntu镜像,先进入maskrom刷Ubuntu(半路终止即可),然后再清空,一次不行就两次,一般会成功** - 2023-8 部分固件不支持recovery按键进入loader模式,请使用maskrom ## 5. 固件与源代码 ### 5.1 固件 下载地址: - ophub的Armbian:[ophub/amlogic-s9xxx-armbian](https://github.com/ophub/amlogic-s9xxx-armbian) - ophub的openWRT:[ophub/amlogic-s9xxx-openwrt](https://github.com/ophub/amlogic-s9xxx-openwrt) - [其他固件(含Armbian和openWRT](https://pan.baidu.com/s/16HRhSn6U6eURc0sxoUB0Tw?pwd=2024) | 编号 | 类型 | 固件名 | 来源 | 可用性 | 维护状态 | 备注 | |----|----|-----|----|-----|----|----| | 1 | 安卓 | station_os_for_fine3399_20231207_fix_wifi | wdmomo | 基本正常,未全面测试 | 无定期更新 | | | 2 | 安卓 | station_os_for_fine3399-test-20231201 | wdmomo | wifi可能有问题 | 无定期更新 | 请使用fix版 | | 3 | 安卓 | rockpi-4b-rk3399_box-android9-20200827_1006_94736e8-gpt | radxa | 部分接口不可用 | 无定期更新 | 早期无固件时直接使用4b的固件,大部分可用,但目前不建议 | | 4 | Armbian | ophub/amlogic-s9xxx-armbian | ophub | 未全面测试 | 定期更新 | ophub部分新内核版本无法启动 | | 5 | Armbian | Armbian_23.02.0-trunk_Bozz-rk3399_bullseye_current_5.15.89.img | rumu3f | HDMI显示不正常,登陆后建议按下ctrl+c进入命令行 | 无定期更新 | 原始镜像,除HDMI外基本ok,遇到奇怪的问题时可以考虑用这个测试 | | 6 | Debian | debian-test | 待认领 | 基本正常,未全面测试 | 无定期更新 | 修订DTS(解决HDMI问题)后的早期版本 | | 7 | iStoreOS | istoreos--sw799A-双网口M2 | 待认领 | 接口基本正常,某个网口速度疑似减半 | 无定期更新 | 群友提供 | | 8 | openWRT | openwrt_R23.01.01_bozz-sw799a_k6.1.2-flippy-80+.img | 群JS | 除HDMI外基本正常 | 无定期更新 | 群JS拼接出来的,能用,遇到问题时可以考虑用这个测试 | | 9 | openWRT | ophub/amlogic-s9xxx-openwrt | ophub | 未全面测试 | 定期更新 | ophub部分新内核版本无法启动 | | 10 | openWRT | ophub/amlogic-s9xxx-openwrt | ophub | 未全面测试 | 定期更新 | ophub部分新内核版本无法启动 | | 11 | Ubuntu | SW799_Rk3399_v2.5.1d_230721 | 游戏机大佬 | 基本正常 | 无定期更新 | 内核版本4.x,推荐,可用用来清空EMMC | | 12 | 量产工具(Armbian) | Armbian_21.08.9_bozz_t4_5.10.63_format.img | null | 仅用于产品质检和量产 | 无定期更新 | 支持8153b量产,自动格式化EMMC | | 13 | 量产工具(Armbian) | Armbian_21.08.9_bozz_t4_5.10.63_testlan.img | null | 仅用于产品质检和量产 | 无定期更新 | 支持8153b量产,自动进行网速测试 | | 14 | EFI uboot \*| fine3399-uboot | null | 仅用于体验EFI启动,安装完毕无法启动 | 无定期更新 | 测试版使用了长风大佬的dts和leez的defconfig | \* 比较新的u-boot支持基本的UEFI启动,RK3399的样例见[ARM官方git](https://gitlab.arm.com/systemready/firmware-build/rk3399-manifest/-/blob/main/README.md)。这些板子可以UEFI启动Generic ARM64的系统安装盘并安装系统,已验证过的系统包括Ubuntu, Debian, SUSE, Fedora等。未来Fine3399也会参考这些资料尝试实现UEFI启动的支持,这样就有大量的官方最新系统可用了,不需要等人专门来编译。 ### 5.2 源代码 #### (1) 设备树(dts) 见[长风大佬的版本](https://github.com/cm9vdA/build-linux/blob/master/boot/dts/rockchip/mainline/rk3399-fine3399.dts) 其中有SPI Flash和屏幕的定义,只是注释掉了。 #### (2) 原理图 原理图已经针对固件和dts开发人员开放。 开放预告:预计2024年春季放出原理图。 #### (3) SDK + SPI屏幕的SDK后续会放出。 + 固件的SDK基本套用RK、Armbian、u-boot官方的。