TheKikGen / MPC-LiveXplore

Akai MPC Live/X/Force/One technical explorations and hacks
216 stars 23 forks source link

I am trying to adapt it for Denon Prime4... #37

Open dzelionis opened 2 years ago

dzelionis commented 2 years ago

Hey, I have managed to do good few succesfull custom firmaware updates on Denon Prime4...:D Still having issues getting sshd to work, as on thelates firmware version that was wiped from firmware completly.... Also i am not sure on the console (debug) as i receiving data, but i can not enter anything so, my question is on U-boot: image

does gpio-keys for in means that i have no serial input and i need something special or how it is...as i could get working other direction......

And because i have no proper input, its really hard to see if sshd missiing some libraries...etc....

Just for reference boot log from prime4 (factory firmware):

U-Boot SPL 2016.05-inmusic-20190128 (May 21 2019 - 16:13:39) Trying to boot from MMC1

U-Boot 2016.05-inmusic-20190128 (May 21 2019 - 16:13:39 +0000), Build: jenkins-AIRDJ-Embedded-Release-162

Model: Denon DJ Prime 4 DRAM: 2 GiB MMC: dwmmc@ff0f0000: 0 In: gpio-keys Out: serial Err: serial AZ01 PCB revD (raw=13) Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found U-Boot script /boot/boot.scr.uimg 489 bytes read in 8 ms (59.6 KiB/s)

Executing script at 00000000

4792072 bytes read in 222 ms (20.6 MiB/s) 51714 bytes read in 12 ms (4.1 MiB/s) Kernel image @ 0x2000000 [ 0x000000 - 0x491f08 ]

Flattened Device Tree blob at 01f00000

Booting using the fdt blob at 0x1f00000 Loading Device Tree to 1fff0000, end 1ffffa01 ... OK

Starting kernel ...

000: Booting Linux on physical CPU 0x500 000: Linux version 5.4.131-inmusic-2021-07-13-rt61 (buildroot@buildroot) (gcc version 10.3.0 (Buildroot 2021.02.3-12-g23d424b4ea)) #1 SMP PREEMPT_RT Wed Feb 9 14:21:02 UTC 2022 000: CPU: ARMv7 Processor [410fc0d1] revision 1 (ARMv7), cr=10c5387d 000: CPU: div instructions available: patching division code 000: CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache 000: OF: fdt: Machine model: Denon DJ Prime 4 000: Memory policy: Data cache writealloc 000: OF: reserved mem: initialized node framebuffer, compatible id rockchip,framebuffer-memory 000: percpu: Embedded 12 pages/cpu s16864 r8192 d24096 u49152 000: Built 1 zonelists, mobility grouping on. Total pages: 522752 000: Kernel command line: root=PARTUUID=24d1deac-3434-1a4e-98d1-68ee2945a5f1 rootwait ro rfkill.default_state=0 isolcpus=1-3 000: Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) 000: Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear) 000: mem auto-init: stack:off, heap alloc:off, heap free:off 000: Memory: 2054828K/2097152K available (7168K kernel code, 405K rwdata, 2192K rodata, 1024K init, 267K bss, 30036K reserved, 12288K cma-reserved, 1298432K highmem) 000: SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 000: rcu: Preemptible hierarchical RCU implementation. 000: rcu: RCU priority boosting: priority 1 delay 500 ms. 000: rcu: RCU_SOFTIRQ processing moved to rcuc kthreads. 000: No expedited grace period (rcu_normal_after_boot). 000: Tasks RCU enabled. 000: rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies. 000: NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 000: random: get_random_bytes called from start_kernel+0x264/0x45c with crng_init=0 000: rockchip: reset MMC AHB arbitor 000: arch_timer: cp15 timer(s) running at 24.00MHz (phys). 000: clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns 000: sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns 000: Switching to timer-based delay loop, resolution 41ns 000: Console: colour dummy device 80x30 000: Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=24000) 000: pid_max: default: 32768 minimum: 301 000: Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear) 000: Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear) 000: CPU: Testing write buffer coherency: ok 000: CPU0: thread -1, cpu 0, socket 5, mpidr 80000500 000: Setting up static identity map for 0x100000 - 0x100060 000: rcu: Hierarchical SRCU implementation. 000: smp: Bringing up secondary CPUs ... 001: CPU1: thread -1, cpu 1, socket 5, mpidr 80000501 002: CPU2: thread -1, cpu 2, socket 5, mpidr 80000502 003: CPU3: thread -1, cpu 3, socket 5, mpidr 80000503 000: smp: Brought up 1 node, 4 CPUs 000: SMP: Total of 4 processors activated (192.00 BogoMIPS). 000: CPU: All CPU(s) started in SVC mode. 000: devtmpfs: initialized 000: VFP support v0.3: implementor 41 architecture 3 part 30 variant d rev 0 000: clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns 000: futex hash table entries: 1024 (order: 4, 65536 bytes, linear) 000: pinctrl core: initialized pinctrl subsystem 000: NET: Registered protocol family 16 000: DMA: preallocated 256 KiB pool for atomic coherent allocations 000: cpuidle: using governor menu 000: No ATAGs? 000: hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. 000: hw-breakpoint: maximum watchpoint size is 4 bytes. 000: vcc-mipi GPIO handle specifies active low - ignored 000: vcc_mipi: supplied by vcc_sys 000: vcc_sata: supplied by vcc_sys 000: sdmmc-regulator GPIO handle specifies active low - ignored 000: iommu: Default domain type: Translated 000: SCSI subsystem initialized 000: usbcore: registered new interface driver usbfs 000: usbcore: registered new interface driver hub 000: usbcore: registered new device driver usb 000: pps_core: LinuxPPS API ver. 1 registered 000: pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it 000: PTP clock support registered 000: Advanced Linux Sound Architecture Driver Initialized. 000: Bluetooth: Core ver 2.22 000: NET: Registered protocol family 31 000: Bluetooth: HCI device and connection manager initialized 000: Bluetooth: HCI socket layer initialized 000: Bluetooth: L2CAP socket layer initialized 000: Bluetooth: SCO socket layer initialized 000: clocksource: Switched to clocksource arch_sys_counter 000: thermal_sys: Registered thermal governor 'step_wise' 000: thermal_sys: Registered thermal governor 'user_space' 000: NET: Registered protocol family 2 000: IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear) 000: tcp_listen_portaddr_hash hash table entries: 512 (order: 2, 16384 bytes, linear) 000: TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear) 000: TCP bind hash table entries: 8192 (order: 5, 229376 bytes, linear) 000: TCP: Hash tables configured (established 8192 bind 8192) 000: UDP hash table entries: 512 (order: 3, 32768 bytes, linear) 000: UDP-Lite hash table entries: 512 (order: 3, 32768 bytes, linear) 000: NET: Registered protocol family 1 000: hw perfevents: enabled with armv7_cortex_a12 PMU driver, 7 counters available 000: Initialise system trusted keyrings 000: workingset: timestamp_bits=30 max_order=19 bucket_order=0 000: squashfs: version 4.0 (2009/01/31) Phillip Lougher 000: fuse: init (API version 7.31) 000: Key type asymmetric registered 000: Asymmetric key parser 'x509' registered 000: bounce: pool size: 64 pages 000: Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248) 000: io scheduler mq-deadline registered 000: io scheduler kyber registered 000: io scheduler bfq registered 000: dma-pl330 ff250000.dma-controller: Loaded driver for PL330 DMAC-241330 000: dma-pl330 ff250000.dma-controller: DBUFF-128x8bytes Num_Chans-8 Num_Peri-20 Num_Events-16 000: dma-pl330 ffb20000.dma-controller: Loaded driver for PL330 DMAC-241330 000: dma-pl330 ffb20000.dma-controller: DBUFF-64x8bytes Num_Chans-5 Num_Peri-6 Num_Events-10 000: Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled 000: ff180000.serial: ttyS0 at MMIO 0xff180000 (irq = 38, base_baud = 1500000) is a 16550A 000: serial serial0: tty port ttyS0 registered 000: ff1b0000.serial: ttyS3 at MMIO 0xff1b0000 (irq = 39, base_baud = 1500000) is a 16550A 000: printk: console [ttyS3] enabled 000: i2c /dev entries driver 000: VCC_DDR: supplied by vcc_sys 000: VCC_IO: supplied by vcc_sys 000: VDD_LOG: supplied by vcc_sys 000: VCC_20: supplied by vcc_sys 000: VCCIO_SD: supplied by VCC_IO 000: VDD10_LCD: supplied by VCC_IO 000: VCCA_CODEC: supplied by VCC_IO 000: VCCA_TP: supplied by vcc_sys 000: VCCIO_PMU: supplied by vcc_sys 000: VDD_10: supplied by VCC_20 000: VCC_18: supplied by VCC_20 000: VCC18_LCD: supplied by VCC_20 000: fan53555-regulator 0-0040: FAN53555 Option[8] Rev[1] Detected! 000: vdd_cpu: supplied by vcc_sys 000: vcc_flash: supplied by VCC_IO 000: vcc_sd: supplied by VCC_IO 000: fan53555-regulator 0-0041: FAN53555 Option[8] Rev[1] Detected! 000: vdd_gpu: supplied by vcc_sys 000: random: fast init done 000: rockchip-vop ff930000.vop: Adding to iommu group 0 000: rockchip-vop ff940000.vop: Adding to iommu group 1 000: rockchip_framebuffer_rmem_device_init: initializing with base address 0x7f400000 size=0x00c00000 000: rockchip-drm display-subsystem: assigned reserved memory node framebuffer 000: rockchip-drm display-subsystem: bound ff930000.vop (ops 0xc0854190) 000: rockchip-vop ff940000.vop: enabled by bootloader 000: rockchip-drm display-subsystem: bound ff940000.vop (ops 0xc0854190) 000: rockchip-drm display-subsystem: bound ff960000.mipi (ops 0xc0857330) 000: [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). 000: [drm] No driver support for vblank timestamp query. 000: rockchip-drm display-subsystem: framebugger sg_size=12582912 size=12288000 000: rockchip-drm display-subsystem: fb0: rockchipdrmfb frame buffer device 000: [drm] Initialized rockchip 1.0.0 20140818 for display-subsystem on minor 0 000: mali ffa30000.gpu: GPU identified as 0x0750 r1p0 status 0 000: mali ffa30000.gpu: Protected mode not available 000: mali ffa30000.gpu: Using configured power model mali-simple-power-model, and fallback mali-simple-power-model 000: Error reading temperature for gpu thermal zone: -22 000: Error reading temperature for gpu thermal zone: -22 000: Error reading temperature for gpu thermal zone: -22 000: Error reading temperature for gpu thermal zone: -22 000: mali ffa30000.gpu: Probed as mali0 000: brd: module loaded 000: loop: module loaded 000: libphy: Fixed MDIO Bus: probed 000: rk_gmac-dwmac ff290000.ethernet: IRQ eth_lpi not found 000: rk_gmac-dwmac ff290000.ethernet: PTP uses main clock 000: rk_gmac-dwmac ff290000.ethernet: clock input or output? (input). 000: rk_gmac-dwmac ff290000.ethernet: TX delay(0x30). 000: rk_gmac-dwmac ff290000.ethernet: RX delay(0x10). 000: rk_gmac-dwmac ff290000.ethernet: integrated PHY? (no). 000: rk_gmac-dwmac ff290000.ethernet: cannot get clock clk_mac_speed 000: rk_gmac-dwmac ff290000.ethernet: clock input from PHY 000: rk_gmac-dwmac ff290000.ethernet: init for RGMII 000: rk_gmac-dwmac ff290000.ethernet: User ID: 0x10, Synopsys ID: 0x35 000: rk_gmac-dwmac ff290000.ethernet: DWMAC1000 000: rk_gmac-dwmac ff290000.ethernet: DMA HW capability register supported 000: rk_gmac-dwmac ff290000.ethernet: RX Checksum Offload Engine supported 000: rk_gmac-dwmac ff290000.ethernet: COE Type 2 000: rk_gmac-dwmac ff290000.ethernet: TX Checksum insertion supported 000: rk_gmac-dwmac ff290000.ethernet: Wake-Up On Lan supported 000: rk_gmac-dwmac ff290000.ethernet: Normal descriptors 000: rk_gmac-dwmac ff290000.ethernet: Ring mode enabled 000: rk_gmac-dwmac ff290000.ethernet: Enable RX Mitigation via HW Watchdog Timer 000: libphy: stmmac: probed 000: dwc2 ff540000.usb: ff540000.usb supply vusb_d not found, using dummy regulator 000: dwc2 ff540000.usb: ff540000.usb supply vusb_a not found, using dummy regulator 000: dwc2 ff540000.usb: dwc2_check_params: Invalid parameter lpm_clock_gating=1 000: dwc2 ff540000.usb: dwc2_check_params: Invalid parameter besl=1 000: dwc2 ff540000.usb: dwc2_check_params: Invalid parameter hird_threshold_en=1 000: dwc2 ff540000.usb: DWC OTG Controller 000: dwc2 ff540000.usb: new USB bus registered, assigned bus number 1 000: usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04 000: usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 000: usb usb1: Product: DWC OTG Controller 000: usb usb1: Manufacturer: Linux 5.4.131-inmusic-2021-07-13-rt61 dwc2_hsotg 000: usb usb1: SerialNumber: ff540000.usb 000: hub 1-0:1.0: USB hub found 000: hub 1-0:1.0: 1 port detected 000: dwc2 ff580000.usb: ff580000.usb supply vusb_d not found, using dummy regulator 000: dwc2 ff580000.usb: ff580000.usb supply vusb_a not found, using dummy regulator 000: dwc2 ff580000.usb: dwc2_check_params: Invalid parameter lpm_clock_gating=1 000: dwc2 ff580000.usb: dwc2_check_params: Invalid parameter besl=1 000: dwc2 ff580000.usb: dwc2_check_params: Invalid parameter hird_threshold_en=1 000: dwc2 ff580000.usb: EPs: 10, dedicated fifos, 972 entries in SPRAM 000: dwc2 ff580000.usb: DWC OTG Controller 000: dwc2 ff580000.usb: new USB bus registered, assigned bus number 2 000: usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04 000: usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 000: usb usb2: Product: DWC OTG Controller 000: usb usb2: Manufacturer: Linux 5.4.131-inmusic-2021-07-13-rt61 dwc2_hsotg 000: usb usb2: SerialNumber: ff580000.usb 000: hub 2-0:1.0: USB hub found 000: hub 2-0:1.0: 1 port detected 000: ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver 000: ehci-platform: EHCI generic platform driver 000: ehci-platform ff500000.usb: EHCI Host Controller 000: ehci-platform ff500000.usb: new USB bus registered, assigned bus number 3 000: ehci-platform ff500000.usb: irq 43, io mem 0xff500000 000: ehci-platform ff500000.usb: USB 2.0 started, EHCI 1.00 000: usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04 000: usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 000: usb usb3: Product: EHCI Host Controller 000: usb usb3: Manufacturer: Linux 5.4.131-inmusic-2021-07-13-rt61 ehci_hcd 000: usb usb3: SerialNumber: ff500000.usb 000: hub 3-0:1.0: USB hub found 000: hub 3-0:1.0: 1 port detected 000: ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver 000: ohci-platform: OHCI generic platform driver 000: ohci-platform ff520000.usb: Generic Platform OHCI controller 000: ohci-platform ff520000.usb: new USB bus registered, assigned bus number 4 000: ohci-platform ff520000.usb: irq 44, io mem 0xff520000 000: usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.04 000: usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 000: usb usb4: Product: Generic Platform OHCI controller 000: usb usb4: Manufacturer: Linux 5.4.131-inmusic-2021-07-13-rt61 ohci_hcd 000: usb usb4: SerialNumber: ff520000.usb 000: hub 4-0:1.0: USB hub found 000: hub 4-0:1.0: 1 port detected 000: usbcore: registered new interface driver uas 000: usbcore: registered new interface driver usb-storage 000: usbcore: registered new interface driver usbserial_generic 000: usbserial: USB Serial support registered for generic 000: usbcore: registered new interface driver cp210x 000: usbserial: USB Serial support registered for cp210x 000: usbcore: registered new interface driver ftdi_sio 000: usbserial: USB Serial support registered for FTDI USB Serial Device 000: usbcore: registered new interface driver pl2303 000: usbserial: USB Serial support registered for pl2303 000: usbcore: registered new interface driver usb_serial_simple 000: usbserial: USB Serial support registered for carelink 000: usbserial: USB Serial support registered for zio 000: usbserial: USB Serial support registered for funsoft 000: usbserial: USB Serial support registered for flashloader 000: usbserial: USB Serial support registered for google 000: usbserial: USB Serial support registered for libtransistor 000: usbserial: USB Serial support registered for vivopay 000: usbserial: USB Serial support registered for moto_modem 000: usbserial: USB Serial support registered for motorola_tetra 000: usbserial: USB Serial support registered for novatel_gps 000: usbserial: USB Serial support registered for hp4x 000: usbserial: USB Serial support registered for suunto 000: usbserial: USB Serial support registered for siemens_mpi 000: usb5537 1-002d: switched to HUB mode 000: usb5537 1-002d: usb5537_probe: probed in hub mode 000: usb5537 1-002d: reg 0x3c00 = 0x04 000: usb5537 1-002d: reg 0x3c04 = 0x03 000: usb5537 1-002d: reg 0x3c08 = 0x03 000: usb5537 1-002d: reg 0x3c0c = 0x03 000: usb5537 1-002d: reg 0x3c10 = 0x04 000: usb5537 1-002d: reg 0x3c14 = 0x03 000: usb5537 1-002d: reg 0x3c18 = 0x03 000: usb5537 1-002d: reg 0x3c1c = 0x00 000: usb5537 1-002d: reg 0x3c20 = 0x01 000: usb5537 1-002d: reg 0x3c24 = 0x01 000: usb5537 1-002d: reg 0x3c28 = 0x01 000: usb5537 1-002d: reg 0x3c2c = 0x01 000: usb5537 1-002d: reg 0x3c30 = 0x01 000: usb5537 1-002d: reg 0x3c34 = 0x01 000: usb5537 1-002d: reg 0x3c38 = 0x01 000: ili2116 4-0041: i2c_device_id = c0876764 000: ili2116 4-0041: protocol version 02.05 000: ili2116 4-0041: ILI2116 firmware version 0.0.6.0 000: ili2116 4-0041: ILI2116 MCU kernel version 16.34.10.0.1 000: input: ILI2116 Touchscreen as /devices/platform/ff160000.i2c/i2c-4/4-0041/input/input0 000: usb 3-1: new high-speed USB device number 2 using ehci-platform 000: rtc-hym8563 0-0051: registered as rtc0 000: pwm-fan cpu-fan: Setting initial fan state 000: Synopsys Designware Multimedia Card Interface Driver 000: dwmmc_rockchip ff0c0000.dwmmc: IDMAC supports 32-bit address mode. 000: dwmmc_rockchip ff0c0000.dwmmc: Using internal DMA controller. 000: dwmmc_rockchip ff0c0000.dwmmc: Version ID is 270a 000: dwmmc_rockchip ff0c0000.dwmmc: DW MMC controller at irq 30,32 bit host data width,256 deep fifo 000: dwmmc_rockchip ff0c0000.dwmmc: Got CD GPIO 000: dwmmc_rockchip ff0c0000.dwmmc: Got WP GPIO 000: dwmmc_rockchip ff0d0000.dwmmc: IDMAC supports 32-bit address mode. 000: dwmmc_rockchip ff0d0000.dwmmc: Using internal DMA controller. 000: dwmmc_rockchip ff0d0000.dwmmc: Version ID is 270a 000: dwmmc_rockchip ff0d0000.dwmmc: DW MMC controller at irq 31,32 bit host data width,256 deep fifo 000: dwmmc_rockchip ff0d0000.dwmmc: allocated mmc-pwrseq 000: mmc_host mmc1: card is non-removable. 000: usb 3-1: New USB device found, idVendor=15e4, idProduct=e008, bcdDevice=50.00 000: usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 000: usb 3-1: Product: PRIME 4 Hub 000: usb 3-1: Manufacturer: Denon DJ 000: hub 3-1:1.0: USB hub found 000: hub 3-1:1.0: 7 ports detected 000: mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0) 000: dwmmc_rockchip ff0f0000.dwmmc: IDMAC supports 32-bit address mode. 000: dwmmc_rockchip ff0f0000.dwmmc: Using internal DMA controller. 000: dwmmc_rockchip ff0f0000.dwmmc: Version ID is 270a 000: dwmmc_rockchip ff0f0000.dwmmc: DW MMC controller at irq 32,32 bit host data width,256 deep fifo 000: dwmmc_rockchip ff0f0000.dwmmc: allocated mmc-pwrseq 000: mmc_host mmc2: card is non-removable. 000: mmc_host mmc2: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0) 000: hidraw: raw HID events driver (C) Jiri Kosina 000: usbcore: registered new interface driver usbhid 000: usbhid: USB HID core driver 000: exFAT: Version 1.3.0 000: usbcore: registered new interface driver snd-usb-audio 000: NET: Registered protocol family 17 000: Bluetooth: HIDP (Human Interface Emulation) ver 1.2 000: Bluetooth: HIDP socket layer initialized 000: Registering SWP/SWPB emulation handler 000: Loading compiled-in X.509 certificates 000: usb 3-1.3: new high-speed USB device number 3 using ehci-platform 000: mmc1: queuing unknown CIS tuple 0x80 (2 bytes) 000: mmc1: queuing unknown CIS tuple 0x80 (3 bytes) 000: mmc1: queuing unknown CIS tuple 0x80 (3 bytes) 000: mmc1: queuing unknown CIS tuple 0x80 (7 bytes) 000: mmc1: queuing unknown CIS tuple 0x81 (9 bytes) 000: input: gpio-keys as /devices/platform/gpio-keys/input/input1 000: rtc-hym8563 0-0051: setting system clock to 2022-04-22T09:09:12 UTC (1650618552) 000: ALSA device list: 000: No soundcards found. 000: ttyS3 - failed to request DMA 000: Waiting for root device PARTUUID=24d1deac-3434-1a4e-98d1-68ee2945a5f1... 000: mmc_host mmc2: Bus speed (slot 0) = 50000000Hz (slot req 52000000Hz, actual 50000000HZ div = 0) 000: mmc2: new DDR MMC card at address 0001 000: mmcblk2: mmc2:0001 DG4008 7.28 GiB 000: mmcblk2boot0: mmc2:0001 DG4008 partition 1 4.00 MiB 000: mmcblk2boot1: mmc2:0001 DG4008 partition 2 4.00 MiB 000: mmcblk2rpmb: mmc2:0001 DG4008 partition 3 4.00 MiB, chardev (244:0) 000: mmc_host mmc1: Bus speed (slot 0) = 25000000Hz (slot req 25000000Hz, actual 25000000HZ div = 0) 000: mmc1: new ultra high speed SDR12 SDIO card at address 0001 000: mmcblk2: p1 p2 p3 p4 p5 p6 p7 000: EXT4-fs (mmcblk2p6): mounted filesystem without journal. Opts: (null) 000: VFS: Mounted root (ext4 filesystem) readonly on device 179:6. 000: devtmpfs: mounted 000: usb 3-1.3: New USB device found, idVendor=04b4, idProduct=6572, bcdDevice=32.99 000: usb 3-1.3: New USB device strings: Mfr=0, Product=1, SerialNumber=0

000: usb 3-1.3: Product: USB2.0 Hub Welcome to Buildroot 2021.02.3!

000: Freeing unused kernel memory: 1024K 000: hub 3-1.3:1.0: USB hub found 000: hub 3-1.3:1.0: 4 ports detected 000: Run /sbin/init as init process 000: systemd[1]: systemd 247 running in system mode. (-PAM -AUDIT -SELINUX -IMA -APPARMOR -SMACK -SYSVINIT -UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS -ACL +XZ -LZ4 +ZSTD -SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid) 000: systemd[1]: Detected architecture arm. 000: systemd[1]: Set hostname to . 000: random: systemd: uninitialized urandom read (16 bytes read) 000: systemd[1]: Initializing machine ID from random generator. 000: systemd[1]: Installed transient /etc/machine-id file. 000: usb 3-1.3.1: new high-speed USB device number 4 using ehci-platform 000: usb 3-1.3.1: New USB device found, idVendor=15e4, idProduct=c008, bcdDevice= 1.07 000: usb 3-1.3.1: New USB device strings: Mfr=1, Product=3, SerialNumber=0 000: usb 3-1.3.1: Product: PRIME 4 Audio 000: usb 3-1.3.1: Manufacturer: DENON DJ 000: systemd[1]: Queued start job for default target Multi-User System. 000: random: systemd: uninitialized urandom read (16 bytes read) 000: systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling. [ OK 000: systemd[1]: (This warning is only shown for the first unit using IP firewalling.) ] Created slice system-getty.slice. 000: systemd[1]: Created slice system-getty.slice. [ OK 000: random: systemd: uninitialized urandom read (16 bytes read) ] Created slice system-modprobe.slice. 000: systemd[1]: Created slice system-modprobe.slice. [ OK 000: systemd[1]: Created slice system-serial\x2dgetty.slice. ] Created slice system-serial\x2dgetty.slice. [ OK 000: systemd[1]: Started Dispatch Password Requests to Console Directory Watch. ] Started Dispatch Password …ts to Console Directory Watch. [ OK 000: systemd[1]: Started Forward Password Requests to Wall Directory Watch. ] Started Forward Password R…uests to Wall Directory Watch. [ OK 000: systemd[1]: Reached target Paths. ] Reached target Paths. [ OK 000: systemd[1]: Reached target Remote File Systems. ] Reached target Remote File Systems. [ OK 000: systemd[1]: Reached target Slices. ] Reached target Slices. [ OK 000: systemd[1]: Reached target Swap. ] Reached target Swap. [ OK 000: systemd[1]: Listening on Device-mapper event daemon FIFOs. ] Listening on Device-mapper event daemon FIFOs. [ OK 000: systemd[1]: Condition check resulted in Journal Audit Socket being skipped. ] Listening on Journal Socket (/dev/log). 000: systemd[1]: Listening on Journal Socket (/dev/log). [ OK 000: systemd[1]: Listening on Journal Socket. ] Listening on Journal Socket. [ OK 000: systemd[1]: Listening on udev Control Socket. ] Listening on udev Control Socket. [ OK 000: systemd[1]: Listening on udev Kernel Socket. ] Listening on udev Kernel Socket. 000: systemd[1]: Condition check resulted in Huge Pages File System being skipped. Mounting Mount /media... 000: systemd[1]: Condition check resulted in POSIX Message Queue File System being skipped. 000: systemd[1]: Mounting Mount /media... Mounting Kernel Debug File System... 000: systemd[1]: Mounting Kernel Debug File System... 000: systemd[1]: Condition check resulted in Kernel Trace File System being skipped. 000: systemd[1]: Mounting Temporary Directory (/tmp)... Mounting Temporary Directory (/tmp)... 000: systemd[1]: Starting Mali GPU driver setup for AZ01... Starting Mali GPU driver setup for AZ01... 000: systemd[1]: Starting Availability of block devices... Starting Availability of block devices... [000: systemd[1]: Started Entropy Daemon based on the HAVEGE algorithm. OK ] Started Entropy Daemon based on the HAVEGE algorithm. 000: systemd[1]: Condition check resulted in Create list of static device nodes for the current kernel being skipped. Starting Monitoring of LVM…meventd or progress pollin000: systemd[1]: Starting Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling... g... 000: systemd[1]: Starting Load Kernel Module configfs... Starting Load Kernel Module configfs... 000: systemd[1]: Starting Load Kernel Module fuse... Starting Load Kernel Module fuse... 000: systemd[1]: Starting File System Check on Root Device... Starting File System Check on Root Device... 000: systemd[1]: Starting Journal Service... Starting Journal Service... Starting Apply Kernel Variables... 000: systemd[1]: Condition check resulted in Load Kernel Modules being skipped. Starting Create Static Device Nodes in /dev... Starting Coldplug All udev Devices..000: systemd[1]: Starting Apply Kernel Variables... . [ OK ] Mounted Mount /media. [ OK ] Mounted Kernel Debug File System. [000: systemd[1]: Starting Create Static Device Nodes in /dev... OK ] Mounted Temporary Directory (/tmp). [ OK ] Finished Mali GPU driver setup for AZ01. [ OK ] Finished Availability of block devices. [FAILED] Failed to start Monitoring… dmeventd or progress polling. See 'systemctl status lvm2-monitor.service' for details. [ OK ] Finished Load Kernel Module configfs. [ OK ] Finished Load Kernel Module fuse. Mounting FUSE Control File System... Mounting Kernel Configuration File System... [ OK ] Finished File System Check on Root Device. [ OK ] Finished Apply Kernel Variables. [ OK ] Mounted FUSE Control File System. [ OK ] Mounted Kernel Configuration File System. Starting Remount Root and Kernel File Systems... [ OK ] Finished Create Static Device Nodes in /dev. [ OK ] Finished Remount Root and Kernel File Systems. [ OK ] Reached target Local File Systems (Pre). Starting Rule-based Manage…for Device Events and Files... [ OK ] Started Rule-based Manager for Device Events and Files. [ OK ] Reached target Sound Card. [ OK ] Started Journal Service. [ OK ] Found device /dev/ttyS3. [ OK ] Finished Coldplug All udev Devices. [ OK ] Reached target Hardware activated USB gadget. [ OK ] Found device /dev/disk/by-…d-ad59-0849-833a-9bf00af5b60e. Starting Create /media/az0…nal filesystem if necessary... Starting Monitoring of LVM…meventd or progress polling... [FAILED] Failed to start Monitoring… dmeventd or progress polling. See 'systemctl status lvm2-monitor.service' for details. [ OK ] Finished Create /media/az0…ernal filesystem if necessary. Mounting Mount /media/az01-internal... [ OK ] Mounted Mount /media/az01-internal. Starting Setup directories for overlayfs mounts... [ OK ] Finished Setup directories for overlayfs mounts. Mounting Writable /etc via OverlayFS... Mounting Writable /var via OverlayFS... [ OK ] Mounted Writable /etc via OverlayFS. Starting Fix transient machine-id after mounting /etc... [ OK ] Mounted Writable /var via OverlayFS. [ OK ] Finished Fix transient machine-id after mounting /etc. [ OK ] Reached target Local File Systems. Starting Flush Journal to Persistent Storage... Starting Commit a transient machine-id on disk... [ OK ] Finished Flush Journal to Persistent Storage. Starting Create Volatile Files and Directories... [ OK ] Finished Commit a transient machine-id on disk. [ OK ] Finished Create Volatile Files and Directories. Starting Network Time Synchronization... [ OK ] Started Network Time Synchronization. [ OK ] Reached target System Initialization. [ OK ] Started Daily Cleanup of Temporary Directories. [ OK ] Reached target System Time Set. [ OK ] Reached target System Time Synchronized. [ OK ] Started Periodic ext4 Onli…ata Check for All Filesystems. [ OK ] Started Discard unused blocks once a week. [ OK ] Reached target Timers. [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket. [ OK ] Listening on D-Bus System Message Bus Socket. [ OK ] Reached target Sockets. [ OK ] Reached target Basic System. Starting Avahi mDNS/DNS-SD Stack... [ OK ] Started Avahi DNS Configuration Daemon. Starting Remove all but the most recent core dump... [ OK ] Started AZ01 power button emergency shutdown service. Starting Hostname setup for AZ01... [ OK ] Started AZ01 JMicron USB-SATA bridge configuration fixer. Starting Bluetooth service... [ OK ] Started D-Bus System Message Bus. [ OK ] Started Getty on tty1. Starting Network Connectivity... [ OK ] Started Serial Getty on ttyS3. [ OK ] Reached target Login Prompts. Starting WPA supplicant... Starting Firmware update for XMOS USB audio devices... [ OK ] Finished Remove all but the most recent core dump. Starting Hostname Service... [ OK ] Started Avahi mDNS/DNS-SD Stack. [ OK ] Started Bluetooth service. [ OK ] Reached target Bluetooth. [FAILED] Failed to start Firmware u…te for XMOS USB audio devices. See 'systemctl status xmos-update.service' for details. Starting Engine... [ OK ] Started WPA supplicant. [ OK ] Finished Network Connectivity. [ OK ] Started Engine. [ OK ] Started Hostname Service. [ OK ] Finished Hostname setup for AZ01. [ OK ] Reached target Network (Pre). Starting Connection service... [ OK ] Started Connection service. [ OK ] Reached target Network. [ OK ] Started AZ01 script runner service. [ OK ] Reached target Multi-User System.

Welcome to Buildroot prime4 login:

TheKikGen commented 2 years ago

Hi. Mount the image on a Linux computer (uncompress it with the tools you will find on this site). Modify the launch script in /bin and maybe try to launch telnetd from Busybox. Rebuild the image with the img tool and update again. You should get a telnet access. Im quite suprised InMusic deleted ssh. Are you sure ? Check systemctl services .

TheKikGen commented 2 years ago

https://github.com/TheKikGen/MPC-LiveXplore/tree/master/imgmaker

dzelionis commented 2 years ago

Hi. Mount the image on a Linux computer (uncompress it with the tools you will find on this site). Modify the launch script in /bin and maybe try to launch telnetd from Busybox. Rebuild the image with the img tool and update again. You should get a telnet access. Im quite suprised InMusic deleted ssh. Are you sure ? Check systemctl services .

i can not be sure yet, but its no sign off ssh in /etc/ or /bin/ or /usr/sbin/ unless its in overlay somewher in overlay which i don't see yet, as i strugling with concole input, but its definetly not in the firmware update for sure.... i am linux user ( in real life i am senior network engineer, using linux desktop for day to day work).....yes u have succesfully adapted your python/shell scripts to match my usb vids / devices ids...etc... and i manage to do ~3 succesfull firmware upgrades playing with different modifications.....so i stiill thinking how i could get console to to work...there is file in "/bin/az01-stup-otgconsole.sh" which is looking interesting for but i cannot figure out is on some other usb port which is hidden or something as i dont see dummy id's on linux box (have tried all the different modes on prime: normal/fastboot/pc) .. so if i could figure out this one that also would help for digging in inside device filesystem...

just for reference file cotents:

!/bin/sh

#

This script follows the guide in Documentation/usb/gadget_configfs.txt

#

You can access the other end of this on a Linux system by binding the

VID/PID used below to the generic USB-serial driver:

#

echo '0001 0001' | sudo tee /sys/bus/usb-serial/drivers/generic/new_id

systemd automounts configfs at /sys/kernel/config so no need to mount here.

( cd /sys/kernel/config &&

Basic device setup:

mkdir -p usb_gadget/g1 &&
cd usb_gadget/g1 &&
# FIXME: dummy VID & PID
echo 0x0001 >idVendor &&
echo 0x0001 >idProduct &&
# note: full list of possible parameters in
#       Documentation/ABI/testing/configfs-usb-gadget
mkdir -p strings/0x409 &&
# FIXME: dummy values below
echo 1234567890 >strings/0x409/serialnumber &&
echo 'Dummy Corp.' >strings/0x409/manufacturer &&
echo 'Dummy Product' >strings/0x409/product &&
### Configuration:
mkdir -p configs/c.1 &&
(
    cd configs/c.1 &&
    mkdir -p strings/0x409 &&
    echo 'My Configuration' >strings/0x409/configuration &&
    echo 100 >MaxPower
) &&
### Functions:
mkdir functions/gser.otg0 &&
### Associate functions with configurations:
ln -s functions/gser.otg0 configs/c.1 &&
### Enable the gadget:
echo ff580000.usb >UDC &&
sleep 1 &&
systemctl start serial-getty@ttyGS"$(cat functions/gser.otg0/port_num)"

)

Thanks Best regards Domas Zelionis

dzelionis commented 2 years ago

image

dzelionis commented 2 years ago

20220425_115439 20220425_115451 20220425_115512 20220425_115655 20220425_115723

Modification on the motherboard you see came from factory....does not look great....

TheKikGen commented 2 years ago

A nice page to add to the WIKI

ounsatn commented 4 months ago

Hello did you succeed to connect to your prime4 ? in service man of the akf its like this, i think you have some pins of the cpu fan, which are for the TX. AKFDebug

ounsatn commented 1 month ago

Hello , the mainboard & cpu is driven by a custom linux. Some internal components as STM32F have firmware and are updated via dfu interface. In assignment files for Engine on P4 you have 3 qml : Controller, Display & Mixer. I suppose you have 3 interfaces when you do amidi -l . have a look on dfu programming , there are tools like dfu-util which allow to dump & restore content of the chip.

ounsatn commented 1 month ago

you need console access to see what happens really, this screen is only a frontend for users. either you find a firmware with ssh or telnet activated, or either you plug TTL/USB converter on the console port

ounsatn commented 1 month ago

what is engine saying when running it with /usr/engine/Engine -d0 ?

ounsatn commented 1 month ago

i dont have p4, i have a prime-go and an akai force. I use firmware 4.0 on pgo.

When system boots, it runs engine.service via systemctl. This service launch /usr/engine/Engine .

if you want to stop it , do systemctl stop engine.service, then run it by hand with command :

/usr/engine/Engine -d0

d0 : is for debug message goes to console ( otherwise it goes to a logfile in /media/az01-internal/AppDataUser/AIR Music Technology/Engine/Logs )

sometimes you'll have to setup env var below :

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/qt/lib export AIR_SCREEN_ROTATION=-90

you can do this when having a console access to the embedded linux ( via ssh or via serial port)

ounsatn commented 1 month ago

no, i'm talking about the linux embedded on prime4. if you want to understand what happens you have to get debug output. see first post from [dzelionis]. your p4 is no more under warrantly ?

dzelionis commented 1 month ago

@osab83 , if you looking for ssh enabled firmware with root access, you can get it from https://github.com/icedream/denon-prime4/releases/tag/v3.3.0-ssh . After you will get access to root shell, you can check boot logs by running "dmesg". That may give you some clues whats wrong with the device.... In case, something goes wrong with flashing and you brick your device (very low risk), you always have an option to press a button on the motherboard to put it into Fastboot mode and push new software again... I hope that's helps...

dzelionis commented 1 month ago

Hello, do you think I can put a new eeprom and write again? It would solve the problem, you would have the data on what type of eeprom would be indicated Obtener Outlook para Androidhttps://aka.ms/ghei36 ____ From: Domas Zelionis @.> Sent: Wednesday, July 17, 2024 3:41:48 AM To: TheKikGen/MPC-LiveXplore @.> Cc: osab83 @.>; Mention @.> Subject: Re: [TheKikGen/MPC-LiveXplore] I am trying to adapt it for Denon Prime4... (Issue #37) @osab83https://github.com/osab83 , if you looking for ssh enabled firmware with root access, you can get it from https://github.com/icedream/denon-prime4 . After you will get access to root shell, you can check boot logs by running "dmesg". That may give you some clues whats wrong with the device.... In case, something goes wrong with flashing and you brick your device (very low risk), you always have an option to press a button on the motherboard to put it into Fastboot mode and push new software again... I hope that's helps... — Reply to this email directly, view it on GitHub<#37 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BJYCQQP6HOMR2Q6TTXCWV43ZMYN3ZAVCNFSM5UFGVCTKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMRTGI3DIMRUGQ2Q. You are receiving this because you were mentioned.Message ID: @.***>

I am not sure. First, could you explain how did it failed ? Did it failed when you was doing software upgrade? or it just failed while using device ? In case it failed while doing firmware upgrade, I think you have good chances to fix it by doing another attempt of software downgrade/upgrade as software upgrade image will update all the eeprom's and in case of eeprom flashing process got interrupted / corrupted while doing software upgrade - 2nd attempt should solve that...

Would be different case if stuff has failed while using device, in that case probably there an issue with data channel between motherboard and mixerboard...

dzelionis commented 1 month ago

in case you cannot put device in software upgrade mode using screen, you can push software using "fastboot" utility ( https://source.android.com/docs/setup/test/running ) , you just need to put your motherboard to fastboot mode and you can do that by pressing and holding "Recovery" button on motherboard while powering device.
image

Some info how to upgrade software using fastboot you can find here: https://github.com/icedream/denon-prime4/issues/15

you just need to extract rootfs image from denon firmware upgrade if you using this method.

also you may check all the I2S cables/connectors (if its fully seeded or just reseed it) between motherboard and mixerboard as i think it would use these for programming eeprom on mixerboard

dzelionis commented 1 month ago

i have checked my Prime4 filesystem and that's what i found: image

I think for dfu update on prime4 this command is executed: /usr/Engine/FirmwareUpdater JC11

my guess if you are able to see DFU interfaces, you should be able to rewrite firmware on it: image

dzelionis commented 1 month ago

@osab83, in that case, if I was you, i would check/re-seed all the cables in between motherboard and mixerboard... also, you may check your USB ports on the devices, see if there any damaged usb port, that could also cause some issues if some pin usb port touching ground....