zhangboyang / llusbdac

Low-latency (relatively) USB DAC for Sony NW-ZX300 Series
GNU General Public License v2.0
26 stars 3 forks source link

ZX-300A不能刷入 (Can't install into ZX-300A) #1

Closed 1itt1eB0y closed 2 years ago

1itt1eB0y commented 2 years ago

型号NW-ZX300Series 刷写之前版本2.02 有SD卡 不清楚是哪块的问题,刷固件是正常的,但是进去只会无法按出来LLUSBDAC的界面。 刷写的时候没有选ADB,只勾选了前两个选项

zhangboyang commented 2 years ago

启用的话,要先进入原有的USB-DAC模式,再按三下按键,如果看到界面就成功了。 刷固件的时候,升级窗口上面有另一个窗口提示固件升级包修改完毕\n请在下方窗口手动操作,按正常步骤进行固件升级\n固件正常升级完毕后,安装即告成功的话,就说明固件应该是修改成功了。 实在不行的话,可以把sd卡取出来试试。 应该是不需要adb的,如果想获取调试信息,可以试试打开adb。

1itt1eB0y commented 2 years ago

去掉了SD卡,还是不太行,我随后再试试

zhangboyang commented 2 years ago

咦,好奇怪。。。难道你的ZX-300A跟我的ZX-300A不一样emmmmmmm

如果固件升级程序打开之后,但升级之前,如果能在本体盘符根目录下看到“LLUSBDAC.DAT”和“LLUSBDAC.SUM”两个文件(安装脚本),说明固件修改部分应该正常。 如果刷固件刷完之后,本体盘符根目录的“LLUSBDAC.DAT”和“LLUSBDAC.SUM”两个文件消失,则说明安装脚本被识别且执行了。 如果选择了开启adb,且刷固件刷完之后,adb被成功开启,说明安装脚本执行成功。 如果这些都没问题,那可能是safeloader的问题,可以尝试直接adb进去执行命令insmod /system/lib/modules/llusbdac.ko强制加载LLUSBDAC内核模块。

1itt1eB0y commented 2 years ago

行,我随后再折腾折腾

idi0tt commented 2 years ago

hey there, i'm experiencing the same problem as littleboy right here. I have LLUSBDAC.dat and LLUSBDAC.SUM in my walkman, however it is unable to boot into llusbdac by pressing the 3 buttons 3 times on the USB DAC screen. Also, I'd like to report that I am unable to access ADB as well (adb devices) despite selecting it during installation, hence i cant run insmod /system/lib/modules/llusbdac.ko You're my only hope when it comes to using this walkman as a full time USB DAC.

1itt1eB0y commented 2 years ago

我也又试了一下,文件是有的,(Android是之前插手机里了创建的文件夹) 图片 但是ADB检测不到也进不去 图片 有可能是V2.0的问题吗

zhangboyang commented 2 years ago

update_progress_screen

@idi0tt

Some questions:

  1. How long does this screen last on your walkman? (from progress bar appears, to progress bar disappears) On my device this takes about 60 seconds for LLUSBDAC modified firmware, and about 50 seconds for original firmware.
  2. How long between progress bar reaches 100% and progress bar disappears? There should be about 10 seconds delay for LLUSBDAC modified firmware, and nearly no delay for original firmware.
  3. Does LLUSBDAC.DAT and LLUSBDAC.SUM disappears from walkman root directory after firmware update?

@1itt1eB0y

好奇怪啊emmmmm(话说V2.0是啥,我不太知道。。。) 问一下几个问题:(1)这个升级画面,从显示图标和进度条开始算起,到进度条消失结束,花了多长时间?我这边机器上,修改后的固件花了60秒,原版固件花了50秒。(2)另外,修改后的固件,从进度条到100%,到进度条消失,中间应该有个大约10秒钟的延迟(没修改的固件应该几乎没有延迟),是否有观察到?(3)另外问一下,固件升级流程结束后,根目录下的LLUSBDAC.DATLLUSBDAC.SUM是否消失了?

1itt1eB0y commented 2 years ago

V2.0我指的是你发布的这个版本哈哈哈 进度条时间这块我确实没怎么注意,随后再试一下 但是DAT和SUM文件本身是存在,重启之后也存在于设备。 你的adb启用之后是直接adb connect就能连上吗还是需要其他操作,我这选上了刷ADB也连不上……

zhangboyang commented 2 years ago

V2.0我指的是你发布的这个版本哈哈哈

应该不是这个的问题,我自己也一直用的是V2.0这个版本

但是DAT和SUM文件本身是存在,重启之后也存在于设备。

哇,坏了,可能安装脚本根本没运行。。。

你的adb启用之后是直接adb connect就能连上吗还是需要其他操作,我这选上了刷ADB也连不上……

如果安装脚本没运行,恐怕选什么选项都没用。。。 正常情况下,直接命令行里adb shell应该就能进root shell adbshell


根据现在的情况推断可能有几种可能性:

  1. 安装脚本可能损坏了:正常情况下,LLUSBDAC.SUM中存储的是LLUSBDAC.DAT文件的SHA256SUM校验和,可以在powershell里面运行这个命令来检查残留的这两个文件是否损坏了 scripthash 顺便看一下固件升级包NW_WM_FW.UPG是否损坏 upghash
  2. 文件系统可能损坏了:这种情况下,固件升级可能根本没有正常执行,所以安装脚本肯定也没有执行。如果之前提到的那个升级进度条,很快就结束,且耗时明显小于50秒或60秒,那很有可能就是这个问题。 如果文件系统损坏,可以检查下文件系统: chkdsk 或者在命令行里运行chkdsk d:效果是一样的(其中d:是walkman的本体的盘符) 顺便提一下,这个盘应该是FAT32文件系统,如果不是的话可能walkman无法识别。
1itt1eB0y commented 2 years ago

NW_WM_FW.UPG 的SHA256,咱俩的是一样的,LLUSBDAT.DAT的SHA和SUM里的值一样,但是和你的不一样 图片 图片

而且chkdsk也并没有问题…… 图片

整个安装过程肯定是有一分钟的,也是正常的升级流程, 然后之前因为我以为是没有权限进行写入,还用了管理员身份运行,但是好像也并没有什么意义哈哈哈哈


我又执行了一遍安装流程,截图如下 图片 图片 图片

因为懒得拍照上传,就沿用你的图片了 图片

然后大概进度条走到55%左右的时候,设备重启完毕,重新建立数据库,等等,正常开机,然后慢慢走到60多之后快速到达100%

图片 图片

整个过程用时大于一分钟 依然是原有的哈希值,依旧无法adb shell,USB DAC功能依旧无效 G!

1itt1eB0y commented 2 years ago

或许,我是说有没有可能,你的release文件,不能正常运行……

zhangboyang commented 2 years ago

卧槽,神了


LLUSBDAT.DAT的SHA和SUM里的值一样,但是和你的不一样

这个是正常情况,安装选项不同,生成的脚本也不一样,你只选前两个选项应该就是一样的文件了

或许,我是说有没有可能,你的release文件,不能正常运行……

不会的,我也是重新刷机,用的相同的文件


update_progress_screen 求帮忙测一下,这个设备上的黑白进度条 (1)从这个进度条显示开始,到进度条走到100%(不是消失),花了多少时间(最好精确到秒) (2)从进度条走到100%,到进度条消失(设备重启),又花了多少时间

1itt1eB0y commented 2 years ago

稍等,我给你跑一下,我刚还用了release 1.2,文件刷上了,哈希也正常,就是没法用

1itt1eB0y commented 2 years ago

从出现到走到头,大概51s 从100%到消失大概6s

zhangboyang commented 2 years ago

稍等,我给你跑一下,我刚还用了release 1.2,文件刷上了,哈希也正常,就是没法用

这个是正常的,1.2和2.0几乎没差别

从出现到走到头,大概51s 从100%到消失大概6s

这个也是正常的,看来是UPG里的脚本正常执行了,但DAT脚本没正常执行(或者执行失败了)


真是神奇到家了,我稍后重新制作个UPG,改改里面的命令试试

zhangboyang commented 2 years ago

顺便问一下,你的机器是什么时候买的,我是去年刚买的

1itt1eB0y commented 2 years ago

我clone了一份git,从头调一下试试

顺便问一下,你的机器是什么时候买的,我是去年刚买的

2019.1.2

zhangboyang commented 2 years ago

我clone了一份git,从头调一下试试

如果要改UPG的话,还需要rockbox的工具,就是那个SonyNWUPGTool

2019.1.2

我现在怀疑,(1)要么是分区挂载出了问题;(2)要么是早期的机器,recovery里的busybox不支持sha256sum

1itt1eB0y commented 2 years ago

果然大法的东西就是不一样(草,一种植物)

zhangboyang commented 2 years ago

@1itt1eB0y 我刚才更新了一版代码,稍微改了下安装脚本命令,你可以拉取一下新的代码,试试新的安装脚本能不能用(装好python之后,安装好依赖pip install pywin32 wmi然后运行llusbdac_installer.py就行)

这次还多加了一个“保存安装日志”的选项,你可以选上试试看能不能看到日志文件

1itt1eB0y commented 2 years ago

DAT文件哈希和SUM能够对应。 UPG文件哈希目前我这里结果如下 图片

LOG文件记录如下

+ /xbin/busybox
BusyBox v1.23.1 (2016-04-20 11:33:03 JST) multi-call binary.
BusyBox is copyrighted by many authors between 1998-2012.
Licensed under GPLv2. See source distribution for detailed
copyright notices.

Usage: busybox [function [arguments]...]
   or: busybox --list[-full]
   or: busybox --install [-s] [DIR]
   or: function [arguments]...

    BusyBox is a multi-call binary that combines many common Unix
    utilities into a single executable.  Most people will create a
    link to busybox for each function they wish to use and BusyBox
    will act like whatever it was invoked as.

Currently defined functions:
    [, [[, adjtimex, ar, arp, arping, ash, awk, base64, basename, blkid,
    blockdev, brctl, bunzip2, bzcat, bzip2, cal, cat, catv, chattr, chgrp,
    chmod, chown, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm,
    conspy, cp, cpio, crontab, cttyhack, cut, date, dc, dd, deallocvt,
    depmod, devmem, df, diff, dirname, dmesg, dnsdomainname, dos2unix, du,
    dumpkmap, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake,
    expand, expr, fakeidentd, false, fatattr, fbset, fbsplash, fdisk,
    fgconsole, fgrep, find, findfs, flash_eraseall, flash_lock,
    flash_unlock, flashcp, flock, fold, free, freeramdisk, fsck, fstrim,
    fsync, ftpget, ftpput, fuser, getopt, getty, grep, groups, gunzip,
    gzip, halt, hd, head, hexdump, hostid, hostname, hush, hwclock, id,
    ifconfig, ifdown, ifenslave, ifplugd, ifup, inetd, insmod, install,
    ionice, iostat, ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute,
    iprule, iptunnel, kbd_mode, kill, killall, killall5, less, linux32,
    linux64, ln, loadfont, loadkmap, login, logname, losetup, ls, lsattr,
    lsmod, lsof, lspci, lsusb, lzcat, lzma, lzop, lzopcat, makedevs,
    md5sum, mdev, microcom, mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2,
    mkfs.vfat, mknod, mkswap, mktemp, modinfo, modprobe, more, mount,
    mountpoint, mpstat, mv, nameif, nanddump, nandwrite, nbd-client, nc,
    netstat, nice, nmeter, nohup, nslookup, ntpd, od, openvt, passwd,
    patch, pgrep, pidof, ping, ping6, pivot_root, pkill, pmap, poweroff,
    powertop, printenv, printf, ps, pscan, pstree, pwd, pwdx, raidautorun,
    rdate, rdev, readahead, readlink, readprofile, realpath, reboot,
    renice, reset, resize, rev, rfkill, rm, rmdir, rmmod, route, rtcwake,
    rx, script, scriptreplay, sed, seq, setarch, setconsole, setfont,
    setkeycodes, setlogcons, setserial, setsid, setuidgid, sh, sha1sum,
    sha256sum, sha3sum, sha512sum, showkey, shuf, slattach, sleep, smemcap,
    softlimit, sort, split, stat, strings, stty, su, sum, swapoff, swapon,
    switch_root, sync, sysctl, tac, tail, tar, tcpsvd, tee, telnetd, test,
    tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true,
    tty, ttysize, tunctl, tune2fs, ubiattach, ubidetach, ubimkvol,
    ubirmvol, ubirsvol, ubiupdatevol, udhcpc, udpsvd, umount, uname,
    uncompress, unexpand, uniq, unix2dos, unlink, unlzma, unlzop, unxz,
    unzip, uptime, users, usleep, uudecode, uuencode, vconfig, vi, watch,
    wc, wget, which, who, whoami, whois, xargs, xz, xzcat, yes, zcat, zcip

+ /xbin/busybox uname -a
Linux (none) 3.10.26 #1 SMP PREEMPT Fri Oct 20 16:04:29 JST 2017 armv7l GNU/Linux
+ echo /bin:/usr/bin:/sbin:/xbin:/system/bin:/system/usr/bin:/system/usr/local/bin:/system/sbin:/system/vendor/sony/bin
/bin:/usr/bin:/sbin:/xbin:/system/bin:/system/usr/bin:/system/usr/local/bin:/system/sbin:/system/vendor/sony/bin
+ mount
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,relatime,size=4096k,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
tmpfs /tmp tmpfs rw,relatime,size=32768k 0 0
tmpfs /dev/shm tmpfs rw,relatime,size=65536k 0 0
/emmc@var /var ext4 rw,nodev,noexec,noatime,discard,data=ordered 0 0
/emmc@contents /contents vfat rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro,discard 0 0
+ mount -t ext4 -o rw,remount /emmc@android /system
mount: Invalid argument
LLUSBDAC.DAT: line 14: can't create /system/lib/modules/safeloader.ko: nonexistent directory
+ /xbin/busybox xz -d -c
+ /xbin/busybox base64 -d
LLUSBDAC.DAT: line 52: can't create /system/lib/modules/panic2screen.ko: nonexistent directory
+ /xbin/busybox xz -d -c
+ /xbin/busybox base64 -d
LLUSBDAC.DAT: line 133: can't create /system/lib/modules/llusbdac.ko: nonexistent directory
+ /xbin/busybox xz -d -c
+ /xbin/busybox base64 -d
LLUSBDAC.DAT: line 514: can't create /system/lib/modules/llusbdac.sha256: nonexistent directory
+ /xbin/busybox xz -d -c
+ /xbin/busybox base64 -d
LLUSBDAC.DAT: line 522: can't create /system/bin/load_sony_driver: nonexistent directory
+ cat
+ cat
+ mount -t ext4 -o ro,remount /emmc@android /system
mount: Invalid argument

mount挂载分区的时候没能挂上,然后我试着去修改了一下script里的命令,试了好几个命令都不太行,这是后来我修改后的一个LOG

+ /xbin/busybox
BusyBox v1.23.1 (2016-04-20 11:33:03 JST) multi-call binary.
BusyBox is copyrighted by many authors between 1998-2012.
Licensed under GPLv2. See source distribution for detailed
copyright notices.

Usage: busybox [function [arguments]...]
   or: busybox --list[-full]
   or: busybox --install [-s] [DIR]
   or: function [arguments]...

    BusyBox is a multi-call binary that combines many common Unix
    utilities into a single executable.  Most people will create a
    link to busybox for each function they wish to use and BusyBox
    will act like whatever it was invoked as.

Currently defined functions:
    [, [[, adjtimex, ar, arp, arping, ash, awk, base64, basename, blkid,
    blockdev, brctl, bunzip2, bzcat, bzip2, cal, cat, catv, chattr, chgrp,
    chmod, chown, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm,
    conspy, cp, cpio, crontab, cttyhack, cut, date, dc, dd, deallocvt,
    depmod, devmem, df, diff, dirname, dmesg, dnsdomainname, dos2unix, du,
    dumpkmap, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake,
    expand, expr, fakeidentd, false, fatattr, fbset, fbsplash, fdisk,
    fgconsole, fgrep, find, findfs, flash_eraseall, flash_lock,
    flash_unlock, flashcp, flock, fold, free, freeramdisk, fsck, fstrim,
    fsync, ftpget, ftpput, fuser, getopt, getty, grep, groups, gunzip,
    gzip, halt, hd, head, hexdump, hostid, hostname, hush, hwclock, id,
    ifconfig, ifdown, ifenslave, ifplugd, ifup, inetd, insmod, install,
    ionice, iostat, ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute,
    iprule, iptunnel, kbd_mode, kill, killall, killall5, less, linux32,
    linux64, ln, loadfont, loadkmap, login, logname, losetup, ls, lsattr,
    lsmod, lsof, lspci, lsusb, lzcat, lzma, lzop, lzopcat, makedevs,
    md5sum, mdev, microcom, mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2,
    mkfs.vfat, mknod, mkswap, mktemp, modinfo, modprobe, more, mount,
    mountpoint, mpstat, mv, nameif, nanddump, nandwrite, nbd-client, nc,
    netstat, nice, nmeter, nohup, nslookup, ntpd, od, openvt, passwd,
    patch, pgrep, pidof, ping, ping6, pivot_root, pkill, pmap, poweroff,
    powertop, printenv, printf, ps, pscan, pstree, pwd, pwdx, raidautorun,
    rdate, rdev, readahead, readlink, readprofile, realpath, reboot,
    renice, reset, resize, rev, rfkill, rm, rmdir, rmmod, route, rtcwake,
    rx, script, scriptreplay, sed, seq, setarch, setconsole, setfont,
    setkeycodes, setlogcons, setserial, setsid, setuidgid, sh, sha1sum,
    sha256sum, sha3sum, sha512sum, showkey, shuf, slattach, sleep, smemcap,
    softlimit, sort, split, stat, strings, stty, su, sum, swapoff, swapon,
    switch_root, sync, sysctl, tac, tail, tar, tcpsvd, tee, telnetd, test,
    tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true,
    tty, ttysize, tunctl, tune2fs, ubiattach, ubidetach, ubimkvol,
    ubirmvol, ubirsvol, ubiupdatevol, udhcpc, udpsvd, umount, uname,
    uncompress, unexpand, uniq, unix2dos, unlink, unlzma, unlzop, unxz,
    unzip, uptime, users, usleep, uudecode, uuencode, vconfig, vi, watch,
    wc, wget, which, who, whoami, whois, xargs, xz, xzcat, yes, zcat, zcip

+ /xbin/busybox uname -a
Linux (none) 3.10.26 #1 SMP PREEMPT Fri Oct 20 16:04:29 JST 2017 armv7l GNU/Linux
+ echo /bin:/usr/bin:/sbin:/xbin:/system/bin:/system/usr/bin:/system/usr/local/bin:/system/sbin:/system/vendor/sony/bin
/bin:/usr/bin:/sbin:/xbin:/system/bin:/system/usr/bin:/system/usr/local/bin:/system/sbin:/system/vendor/sony/bin
+ mount
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,relatime,size=4096k,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
tmpfs /tmp tmpfs rw,relatime,size=32768k 0 0
tmpfs /dev/shm tmpfs rw,relatime,size=65536k 0 0
/emmc@var /var ext4 rw,nodev,noexec,noatime,discard,data=ordered 0 0
/emmc@contents /contents vfat rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro,discard 0 0
+ ls -la /
drwxr-xr-x root     root              2022-04-09 00:35 bin
drwxrwxrwx root     root              1970-01-01 00:00 contents
-rw------- root     root         2320 1970-01-01 00:00 default.prop
drwxr-xr-x root     root              2022-04-09 00:35 dev
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@android -> /dev/block/mmcblk0p19
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@bootimg -> /dev/block/mmcblk0p8
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@cache -> /dev/block/mmcblk0p20
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@cm4 -> /dev/block/mmcblk0p21
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@contents -> /dev/block/mmcblk0p29
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@db -> /dev/block/mmcblk0p24
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@dkb -> /dev/block/mmcblk0p17
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@ebr1 -> /dev/block/mmcblk0p1
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@expdb -> /dev/block/mmcblk0p13
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@kb -> /dev/block/mmcblk0p16
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@logo -> /dev/block/mmcblk0p12
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@misc -> /dev/block/mmcblk0p11
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@nvp -> /dev/block/mmcblk0p22
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@nvram -> /dev/block/mmcblk0p3
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@option1 -> /dev/block/mmcblk0p25
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@option2 -> /dev/block/mmcblk0p26
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@option3 -> /dev/block/mmcblk0p27
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@pro_info -> /dev/block/mmcblk0p2
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@protect_f -> /dev/block/mmcblk0p4
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@protect_s -> /dev/block/mmcblk0p5
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@recovery -> /dev/block/mmcblk0p9
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@sec_ro -> /dev/block/mmcblk0p10
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@seccfg -> /dev/block/mmcblk0p6
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@tee1 -> /dev/block/mmcblk0p14
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@tee2 -> /dev/block/mmcblk0p15
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@uboot -> /dev/block/mmcblk0p7
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@usrdata -> /dev/block/mmcblk0p28
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@var -> /dev/block/mmcblk0p23
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@xhrome -> /dev/block/mmcblk0p18
drwxr-xr-x root     root              1970-01-01 00:00 etc
-rwxrwxr-x root     root         8192 2022-04-09 00:36 fwup_bg.dat
-rwx------ root     root        59840 1970-01-01 00:00 init
-rw------- root     root        12176 1970-01-01 00:00 init.rc
drwxr-xr-x root     root              1970-01-01 00:00 install_update_script
drwxr-xr-x root     root              1970-01-01 00:00 lib
-rw-rw-r-- root     root            0 2022-04-09 00:36 md5.txt
-rwxrwxr-x root     root         4096 2022-04-09 00:35 md5.txt.0
-rwxrwxr-x root     root            4 2022-04-09 00:36 pbstart
dr-xr-xr-x root     root              1970-01-01 00:00 proc
drwxr-xr-x root     root              1970-01-01 00:00 res
drwxr-xr-x root     root              1970-01-01 00:00 res-mdpi
drwx------ root     root              2022-04-09 00:35 root
drwxr-xr-x root     root              1970-01-01 00:00 sbin
dr-xr-xr-x root     root              2022-04-09 00:35 sys
drwxr-xr-x root     root              2022-04-09 00:35 system
drwxrwxrwt root     root              2022-04-09 00:35 tmp
-rw------- root     root         5069 1970-01-01 00:00 ueventd.rc
-rwxr-xr-x root     root         8192 2022-04-09 00:35 update.sh
drwxr-xr-x root     root              2022-04-09 00:35 var
drwxr-xr-x root     root              1970-01-01 00:00 xbin
+ ls -la /emmc@android
lrwxrwxrwx root     root              1970-01-01 00:00 emmc@android -> /dev/block/mmcblk0p19
+ ls -la /system
+ mount -r -w /dev/block/mmcblk0p19 /system
Usage: mount [-r] [-w] [-o options] [-t type] device directory
LLUSBDAC.DAT: line 18: can't create /system/lib/modules/safeloader.ko: nonexistent directory
+ /xbin/busybox xz -d -c
+ /xbin/busybox base64 -d
LLUSBDAC.DAT: line 56: can't create /system/lib/modules/panic2screen.ko: nonexistent directory
+ /xbin/busybox xz -d -c
+ /xbin/busybox base64 -d
LLUSBDAC.DAT: line 137: can't create /system/lib/modules/llusbdac.ko: nonexistent directory
+ /xbin/busybox xz -d -c
+ /xbin/busybox base64 -d
LLUSBDAC.DAT: line 518: can't create /system/lib/modules/llusbdac.sha256: nonexistent directory
+ /xbin/busybox xz -d -c
+ /xbin/busybox base64 -d
LLUSBDAC.DAT: line 526: can't create /system/bin/load_sony_driver: nonexistent directory
+ cat
+ cat
+ mount -t ext4 -o ro,remount /emmc@android /system
mount: Invalid argument

明天我再研究研究,应该就是在分区挂载上的问题

zhangboyang commented 2 years ago

@1itt1eB0y 能打出来log实在是太好了,看来不是sha256的问题,是mount /emmc@android的问题 看来升级脚本的运行环境还真是不一样,我这边是这样的,内核的编译时间都不一样

+ busybox uname -a
Linux (none) 3.10.26 #1 SMP PREEMPT Wed Jul 31 16:24:44 JST 2019 armv7l GNU/Linux
+ mount
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,relatime,size=4096k,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
tmpfs /tmp tmpfs rw,relatime,size=32768k 0 0
tmpfs /dev/shm tmpfs rw,relatime,size=65536k 0 0
/emmc@var /var ext4 rw,nodev,noexec,noatime,discard,data=ordered 0 0
/emmc@contents /contents vfat rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro,discard 0 0
/emmc@android /system ext4 ro,relatime,data=ordered 0 0

我新更新了一版代码,加了一条mount命令(顺便把之前取消的sha256校验加回来了) https://github.com/zhangboyang/llusbdac/blob/b20943683b4fce3f018b63a82b00c6307e6371b5/llusbdac_installer.py#L532 这下问题应该彻底解决了吧(立flag),你可以试下新的代码,如果没问题的话我就release一个新版本

p.s. 如果好奇的话,可以用命令把升级环境里的/update.sh/install_update_script拷贝出来,里面是索尼的升级脚本

idi0tt commented 2 years ago

Regarding my installation time, it is similar to [1itt1eB0y], 45 seconds, then 5 seconds. I'm now attempting to compile your latest version, unfortunately I'm a real novice to this. Should prove to be an interesting way to try python.

idi0tt commented 2 years ago

hey there, I'm experiencing this error when attempting to launch llusbdac_installer.py

File "c:\llusbdac-master\llusbdac_installer.py", line 58, in safeloader_ko = load_ko(os.path.join(safeloader_dir, "safeloader.ko")) File "c:\llusbdac-master\llusbdac_installer.py", line 52, in load_ko with open(filepath, "rb") as f: FileNotFoundError: [Errno 2] No such file or directory: 'safeloader\safeloader.ko'

not entirely sure where to find the ko files and hence kind of stuck

1itt1eB0y commented 2 years ago

hey there, I'm experiencing this error when attempting to launch llusbdac_installer.py

File "c:\llusbdac-master\llusbdac_installer.py", line 58, in safeloader_ko = load_ko(os.path.join(safeloader_dir, "safeloader.ko")) File "c:\llusbdac-master\llusbdac_installer.py", line 52, in load_ko with open(filepath, "rb") as f: FileNotFoundError: [Errno 2] No such file or directory: 'safeloader\safeloader.ko'

not entirely sure where to find the ko files and hence kind of stuck

You will need to compile it yourself. try this command ↓

cd safeloader
make

and there should be two more files need to be compiled with command cd & make.

1itt1eB0y commented 2 years ago

FOR GOD SICK! YOU MADE IT! 我这边目前是好使了,能够正常使用这个脚本。 ADB和DAC都能正常用了,好耶! 图片 162554794-2a9d56f6-1342-4c7d-804f-ab4bbb688d27 (小尺寸)


重新打包吧,你打完包我再试试,因为我这文件毕竟是我自己编译的,理论上应该没有什么问题,但是过程中GCC有几个小WARNING,目前虽然我这边运行没啥问题。 而且这个延迟,真的没话说,我这还是接了个分线器,延迟都挺低的,几乎没有

but,也比较能明显的听出来音效的差别,可以说是一耳朵区别,莫不是禁用了原厂声音处理的部分,降低了由声音处理带来的延迟,从而实现的低延迟? 不过现在也算是有一个多的可选项了,听歌确实对延迟不敏感,但是打个游戏啥的用低延迟,顺便配上我的榭兰图/doge应该还是可以沉浸老头环的()


哦对,还有个现象,我现在刷完文件之后,WALKMAN根目录下只显示一个LOG文件,DATSUMUPG都无了,但是各部分功能是正常的,LOG我给你附上

+ busybox
BusyBox v1.23.1 (2016-04-20 11:33:03 JST) multi-call binary.
BusyBox is copyrighted by many authors between 1998-2012.
Licensed under GPLv2. See source distribution for detailed
copyright notices.

Usage: busybox [function [arguments]...]
   or: busybox --list[-full]
   or: busybox --install [-s] [DIR]
   or: function [arguments]...

    BusyBox is a multi-call binary that combines many common Unix
    utilities into a single executable.  Most people will create a
    link to busybox for each function they wish to use and BusyBox
    will act like whatever it was invoked as.

Currently defined functions:
    [, [[, adjtimex, ar, arp, arping, ash, awk, base64, basename, blkid,
    blockdev, brctl, bunzip2, bzcat, bzip2, cal, cat, catv, chattr, chgrp,
    chmod, chown, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm,
    conspy, cp, cpio, crontab, cttyhack, cut, date, dc, dd, deallocvt,
    depmod, devmem, df, diff, dirname, dmesg, dnsdomainname, dos2unix, du,
    dumpkmap, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake,
    expand, expr, fakeidentd, false, fatattr, fbset, fbsplash, fdisk,
    fgconsole, fgrep, find, findfs, flash_eraseall, flash_lock,
    flash_unlock, flashcp, flock, fold, free, freeramdisk, fsck, fstrim,
    fsync, ftpget, ftpput, fuser, getopt, getty, grep, groups, gunzip,
    gzip, halt, hd, head, hexdump, hostid, hostname, hush, hwclock, id,
    ifconfig, ifdown, ifenslave, ifplugd, ifup, inetd, insmod, install,
    ionice, iostat, ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute,
    iprule, iptunnel, kbd_mode, kill, killall, killall5, less, linux32,
    linux64, ln, loadfont, loadkmap, login, logname, losetup, ls, lsattr,
    lsmod, lsof, lspci, lsusb, lzcat, lzma, lzop, lzopcat, makedevs,
    md5sum, mdev, microcom, mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2,
    mkfs.vfat, mknod, mkswap, mktemp, modinfo, modprobe, more, mount,
    mountpoint, mpstat, mv, nameif, nanddump, nandwrite, nbd-client, nc,
    netstat, nice, nmeter, nohup, nslookup, ntpd, od, openvt, passwd,
    patch, pgrep, pidof, ping, ping6, pivot_root, pkill, pmap, poweroff,
    powertop, printenv, printf, ps, pscan, pstree, pwd, pwdx, raidautorun,
    rdate, rdev, readahead, readlink, readprofile, realpath, reboot,
    renice, reset, resize, rev, rfkill, rm, rmdir, rmmod, route, rtcwake,
    rx, script, scriptreplay, sed, seq, setarch, setconsole, setfont,
    setkeycodes, setlogcons, setserial, setsid, setuidgid, sh, sha1sum,
    sha256sum, sha3sum, sha512sum, showkey, shuf, slattach, sleep, smemcap,
    softlimit, sort, split, stat, strings, stty, su, sum, swapoff, swapon,
    switch_root, sync, sysctl, tac, tail, tar, tcpsvd, tee, telnetd, test,
    tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true,
    tty, ttysize, tunctl, tune2fs, ubiattach, ubidetach, ubimkvol,
    ubirmvol, ubirsvol, ubiupdatevol, udhcpc, udpsvd, umount, uname,
    uncompress, unexpand, uniq, unix2dos, unlink, unlzma, unlzop, unxz,
    unzip, uptime, users, usleep, uudecode, uuencode, vconfig, vi, watch,
    wc, wget, which, who, whoami, whois, xargs, xz, xzcat, yes, zcat, zcip

+ busybox uname -a
Linux (none) 3.10.26 #1 SMP PREEMPT Fri Oct 20 16:04:29 JST 2017 armv7l GNU/Linux
+ mount
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,relatime,size=4096k,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
tmpfs /tmp tmpfs rw,relatime,size=32768k 0 0
tmpfs /dev/shm tmpfs rw,relatime,size=65536k 0 0
/emmc@var /var ext4 rw,nodev,noexec,noatime,discard,data=ordered 0 0
/emmc@contents /contents vfat rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro,discard 0 0
+ mount -t ext4 -o ro /emmc@android /system
+ mount -t ext4 -o rw,remount /emmc@android /system
+ busybox base64 -d
+ busybox xz -d -c
+ busybox xz -d -c
+ busybox base64 -d
+ busybox xz -d -c
+ busybox base64 -d
+ busybox xz -d -c
+ busybox base64 -d
+ cat
+ cat
+ mount -t ext4 -o ro,remount /emmc@android /system
+ exit 0
zhangboyang commented 2 years ago

@idi0tt

not entirely sure where to find the ko files and hence kind of stuck

You can extract if from released installer, or compile it by yourself. The released installer is packaged with pyinstaller, it will extract temporary files to %TEMP%\_MEI[some_number_here]. You can goto %TEMP% in windows explorer, then run the installer. As the installer running, that folder should appear. You will find serveral .ko files there.

You can also compile it yourself. You can use a linux virtual machine, or Windows Subsystem for Linux. First run the ./get_toolchain.sh and . setpath and ./get_kernel.sh, then goto each folder and run make.

When you about to run the python llusbdac_installer.py, don't forget to use administrator privileges.

p.s. I'm going to release a new version. You can also wait for it and use the newly released installer.


@1itt1eB0y

我这边目前是好使了,能够正常使用这个脚本。

太好啦

重新打包吧,你打完包我再试试,

我大概会过一会儿发个新版本(不过我打包脚本找不着了emmm有点尴尬得重新花时间做)

因为我这文件毕竟是我自己编译的,理论上应该没有什么问题

应该没什么问题,毕竟连源代码和编译器都是一样的 WARNING的话应该是正常的,我这边也有

but,也比较能明显的听出来音效的差别,可以说是一耳朵区别

我木耳朵233333,不过确实整个音频数据就全部在kernel里面,完全绕过了userspace,可能sony软件上的一些处理被绕过了。 可能设计上与开开了那个“直接源”效果应该是一样的。如果你感兴趣的话可以帮忙听一下LLUSBDAC的输出和“直接源”的输出有没有区别,我木耳朵完全测试不了这些主观的东西emmmm

WALKMAN根目录下只显示一个LOG文件,DAT,SUM和UPG都无了

这个是正常的,本来这些都是应该消失的

p.s. 顺便问一下你有没有遇到过原版USB DAC(不是LLUSBDAC)出现,完全没有声音,或者有杂音的情况。我之前遇到过几次,我怀疑是CPU没刷掉DMA内存的缓存的问题,我在LLUSBDAC里是修复了,但原版USB DAC里应该还有这个问题。

1itt1eB0y commented 2 years ago

杂音这块我之前有明显听到过耳机传来的低频电流噪音,特别难受的那种,不清楚具体成因,所以后来也没怎么用过DAC的功能了。 刚才试的时候没啥问题,直接源我一会去试试,反正听起来像是直接源的效果。

idi0tt commented 2 years ago

honestly, after getting the ko files, i am still getting the same error as before. I'm not entirely sure what is the reason, but I suppose I'll wait for the full release then. Thanks for your help everyone @zhangboyang @1itt1eB0y

1itt1eB0y commented 2 years ago

@idi0tt can you paste your make command and its log here? I will try to help you. The full size of all files are bigger than 1gb...

zhangboyang commented 2 years ago

@idi0tt v3.0 is now released. Sorry for the late, because my hard disk became unstable when I was building this release and I have to fix my hard disk first. :joy:

1itt1eB0y commented 2 years ago

我明天试试,OK的话这个issues就关了 I will try it tomorrow, and I will close this issue if it is working.

1itt1eB0y commented 2 years ago

正常工作,我关闭这个issue了。 Now it is worked with my device. I will close this issue.