yangxuan8282 / phicomm-n1

615 stars 106 forks source link

Bluetooth driver and mainline kernel support #4

Closed jejer closed 5 years ago

jejer commented 5 years ago

感谢分享这些嵌入式linux的经验技巧! 看恩山的帖子在LibreELEC里蓝牙已经搞定了, 只更新dts就行吗?能否更新一下wiki/driver? 另外直接编译mainline kernel得到内核可以吗?我看大神提交了N1的dts

yangxuan8282 commented 5 years ago

你是指在哪个发行版上用蓝牙? libreeelec 还是 armbian,libreelec 的话下我编译的版本就可以用蓝牙了 armbian 的话下这个帖子里的附件 https://www.right.com.cn/forum/thread-353806-1-1.html 替换 dtb ,然后还要把 firmware 替换成附件里的,那个 firmware 其实就是从树莓派仓库下的

直接编译的 mainline kernel 是用不了的,原因在于 u-boot,emmc 上的 u-boot 是 amlogic 的旧版 (2015),晶晨因为莫名的原因用了非标准的 offset,使用 booti 命令就要打补丁,不然的话内核比较新的几个发行版应该能直接运行的 需要打一个补丁: https://github.com/yangxuan8282/phicomm-n1/blob/master/kernel/alpine/APKBUILDs/linux-amlogic/offset.patch

然后因为这个修改还要打个补丁通过编译

https://github.com/yangxuan8282/phicomm-n1/blob/master/kernel/alpine/APKBUILDs/linux-amlogic/off_error_text_offset.patch

基本都是在 150balbes 的帮助下才知道这些的

然后那个 device tree 因为我的 git send email 抽风,导致提交不是很顺利,过的可能性感觉比较渺茫

jejer commented 5 years ago

多谢! 如有问题再来请教

jejer commented 5 years ago

看了 https://github.com/yangxuan8282/phicomm-n1/blob/master/kernel/alpine/APKBUILDs/linux-amlogic/APKBUILD 之后清楚多了. /lib/firmware/下的固件是如何得到的呢? 谢谢!

jejer commented 5 years ago

过了一下带编号的patch. 很多已经merge了. 0006-0018 sound 相关的还没进master 0026,0027 vdec 也在讨论 https://patchwork.kernel.org/patch/10583389/

yangxuan8282 commented 5 years ago

@jejer https://github.com/yangxuan8282/phicomm-n1/blob/a663f920dad52b34907848b93303bf7f5c95cecf/kernel/alpine/APKBUILDs/linux-amlogic/APKBUILD#L225

wiki 里也有写,https://github.com/yangxuan8282/phicomm-n1/wiki/Drivers 最下面那几个链接

jejer commented 5 years ago

armbian /lib/firmware 里有好多文件, 除了wifi/bt. /lib/firmware/meson/ 里面好像是解码器

yangxuan8282 commented 5 years ago

armbian 我基本没用过,也没研究过它安了哪些包 像你说的其实无非是哪个包提供的文件 ,这个谷歌随便搜一下就有 dpkg -S PATH_TO_FILE

yangxuan8282 commented 5 years ago

后来打开 armbian 的镜像看了下,/lib/firmware/meson 和这个仓库 https://github.com/LibreELEC/meson-firmware 里的文件看起来是一样的,来源是从 Amlogic buildroot 提取: http://openlinux.amlogic.com:8000/download/ARM/ 另外 N1 相关的 device tree 已经被合并到内核开发者 Kevin Hilman 的仓库,预计 4.21 时候会被合并到 mainline,禁用 eee 被加到 meson-gxl-s905d-p230.dts 里

https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic.git/log/?h=amlogic-dt64