Welcome! Log In Create A New Profile

Advanced

GTI Mirabox, Netgear RN102/RN104, Netgear RN2120 Installation & Kernel Upgrade (Linux-6.9.6)

Posted by bodhi 
Re: GTI Mirabox, Netgear RN102/RN104, Netgear RN2120 Installation & Kernel Upgrade (Linux-6.9.6)
July 01, 2024 03:24PM
Jungle,

I did not see anything strange in your log.

> I had to change the uboot env setting via serial
> as fw_setenv seems to be missing for me
> (fw_printenv still exists)

That's not good. They are actually the same binary. When we install the package, both should be avaliable. I'm wondering if you're having some problem with btrfs file system.

> Whats your recommendation in regards to systemd vs
> sysvinit?

I don't run systemd on these small NAS, because RAM is usually limited. And systemd has too much bloatware that we don't need on servers like these.

However, it might not be possible to run Debian in the future without systemd, so it's a judgement call we need to make individually. There are certain newDebian apps that are good to have on these small servers, but they only run on systemd.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: GTI Mirabox, Netgear RN102/RN104, Netgear RN2120 Installation & Kernel Upgrade (Linux-6.9.6)
July 01, 2024 03:26PM
Check your u-boot env tools. Here is mine (on a Kirkwood armel box).

# dpkg -l | grep libubootenv-tool
ii  libubootenv-tool                      0.3.2-1                                 armel        Library to access U-Boot environment - tool

# dpkg -L libubootenv-tool
/.
/usr
/usr/bin
/usr/bin/fw_printenv
/usr/bin/fw_setenv
/usr/share
/usr/share/doc
/usr/share/doc/libubootenv-tool
/usr/share/doc/libubootenv-tool/changelog.Debian.gz
/usr/share/doc/libubootenv-tool/copyright
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/fw_printenv.8.gz
/usr/share/man/man8/fw_setenv.8.gz

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 07/01/2024 03:30PM by bodhi.
Hey bodhi,

I'll stick with systemd then and have reverted back to kernel 6.5.7.

This:
dpkg -l | grep libubootenv-tool
didn't return anything
and this:
dpkg -L libubootenv-tool
says not installed.
I think it disappeared when I did the dist upgrades. Do I reinstall from apt?

------------------------------------------------------------------------------------
Btrfs is used on 2 of the other drives, I converted the file system from linux raid (which netgear uses, it was setup as JBOD)



Thanks,
Jungle



Edited 1 time(s). Last edit at 07/02/2024 05:06AM by jungle_roger.
Re: GTI Mirabox, Netgear RN102/RN104, Netgear RN2120 Installation & Kernel Upgrade (Linux-6.9.6)
July 02, 2024 03:00PM
Jungle,

>
> dpkg -L libubootenv-tool
>
> says not installed.
> I think it disappeared when I did the dist
> upgrades.

No, if it was installed, it cannot disappear during dist-upgrade. fw_setenv/printenv was moved from u-boot-tools to libubootenv-tool in Debian bullseye. At one point, you must have upgraded your rootfs to bulleyse and did not realize it was missing. I had this note in my bulleyse rootfs release note (Updated 26 Sept 2021).

> Do I reinstall from apt?

Yes.

apt-get install libubootenv-tool

EDIT: typos

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 07/03/2024 03:26PM by bodhi.
Re: GTI Mirabox, Netgear RN102/RN104, Netgear RN2120 Installation & Kernel Upgrade (Linux-6.9.6)
July 02, 2024 05:59PM
Kernel 6.9.6 does seem to run slower. Please stay with 6.5.7 for a while if you have RN102 or RN104 box. For Mirabox, use 6.8.7.

Thanks for testing Jungle!

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 07/02/2024 07:03PM by bodhi.
Re: GTI Mirabox, Netgear RN102/RN104, Netgear RN2120 Installation & Kernel Upgrade (Linux-6.9.6)
July 03, 2024 03:25PM
Duh! my bad. I did misconfigure this kernel 6.9.6. Will release a new version.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: GTI Mirabox, Netgear RN102/RN104, Netgear RN2120 Installation & Kernel Upgrade (Linux-6.9.6)
July 05, 2024 03:18PM
Kernel linux-6.9.6-mvebu-370xp-tld-2-bodhi.tar.bz2 package has been uploaded. Please see 1st post for download link.

This kernel is the same as linux-6.9.6-mvebu-370xp-tld-1, but with the fix in kernel config for the slow down problem.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Running new kernel, its looking good so far :)

Thanks bodhi, I appreciate all your hard work m8..


Jungle
Re: GTI Mirabox, Netgear RN102/RN104, Netgear RN2120 Installation & Kernel Upgrade (Linux-6.9.6)
July 06, 2024 02:52PM
Jungle,

> Running new kernel, its looking good so far :)

Cool!

Could you post
dmesg | grep -iE 'timer|clock'

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
bodhi Wrote:
-------------------------------------------------------
> Jungle,
>
> > Running new kernel, its looking good so far :)
>
> Cool!
>
> Could you post
>
> dmesg | grep -iE 'timer|clock'
>

Here you go:

[    0.000000] Switching to timer-based delay loop, resolution 53ns
[    0.000002] sched_clock: 32 bits at 19MHz, resolution 53ns, wraps every 114537122277ns
[    0.000042] clocksource: armada_370_xp_clocksource: scale: 1 ns, freq: 18749237
[    0.000057] clocksource: armada_370_xp_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 101938038664 ns
[    0.001292] Calibrating delay loop (skipped), value calculated using timer frequency.. 37.49 BogoMIPS (lpj=187492)
[    0.023141] clocksource: jiffies: scale: 1 ns, freq: 0
[    0.023158] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.903060] PTP clock support registered
[    0.906472] clocksource: Switched to clocksource armada_370_xp_clocksource
[    1.362254] pci 0000:00:01.0: ASPM: current common clock configuration is inconsistent, reconfiguring
[    1.397508] pci 0000:00:02.0: ASPM: current common clock configuration is inconsistent, reconfiguring
[    3.987637] rtc-ds1307 0-0068: setting system clock to 2024-07-07T09:19:39 UTC (1720343979)
[    4.910183] clk: Disabling unused clocks

Jungle
Re: GTI Mirabox, Netgear RN102/RN104, Netgear RN2120 Installation & Kernel Upgrade (Linux-6.9.6)
July 08, 2024 04:55PM
Hi all,

Could you reboot your RN102/104 with serial console. Interrupt the count down, and

help
If there is a command such as SAR, or SatR, or simlilar, execute it. See if it print out any info.

Basically, this Sample at Reset register stores the board settings that have been set by the manufacturer. It could contain the boot device selection, CPU frequency, clock rate, ... among other things.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Hi bodhi,

From RN102 U-Boot:
BootROM 1.08
Booting from NAND flash


General initialization - Version: 1.0.0

High speed PHY - Version: 2.1.4 (COM-PHY-V20) 
Update PEX Device ID 0x6710
High speed PHY - Ended Successfully
0000
DDR3 Training Sequence - Ver 5.7.1
DDR3 Training Sequence - Run without PBS.
DDR3 Training Sequence - Ended Successfully 
BootROM: Image checksum verification PASSED

 __   __                      _ _
|  \/  | __ _ _ ____   _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| |  | | (_| | |   \ V /  __/ | |
|_|  |_|\__,_|_|    \_/ \___|_|_|
         _   _     ____              _
        | | | |   | __ )  ___   ___ | |_ 
        | | | |___|  _ \ / _ \ / _ \| __| 
        | |_| |___| |_) | (_) | (_) | |_ 
         \___/    |____/ \___/ \___/ \__| 
 ** LOADER **


U-Boot 2011.12-gec25d27-dirty (Oct 26 2015 - 16:53:05) Marvell version: v2011.12 2014_T2.0p1 
06/23/2015 ReadyNAS-102 V2.0

Board: DB-88F6710-BP
SoC:   MV6710 A1
CPU:   Marvell PJ4B v7 UP (Rev 1) LE
       CPU    @ 1200 [MHz]
       L2     @ 600 [MHz]
       TClock @ 200 [MHz]
       DDR    @ 600 [MHz]
       DDR 16Bit Width, FastPath Memory Access
DRAM:  512 MiB

Map:   Code:            0x1feef000:0x1ff9ef34
       BSS:             0x1ffef0a0
       Stack:           0x1f9eeef8
       Heap:            0x1f9ef000:0x1feef000

NAND:  (ID 0xf1ad)      128 MiB
MMC:   MRVL_MMC: 0
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
nand_read_bbt: Bad block at 0x000001820000
nand_read_bbt: Bad block at 0x000001f00000

Initialize and scan all PCI interfaces
PEX unit.port(active IF[-first bus]):
------------------------------------------
PEX 0: Root Complex Interface, Detected Link X1, GEN 2.0
PEX 1: Root Complex Interface, Detected Link X1, GEN 2.0
FPU not initialized
USB 0: Host Mode
USB 1: Host Mode
Shutting down unused interfaces:
       GBE0
       SDIO
       AUDIO
       TDM
Modules/Interfaces Detected:
       RGMII1 Phy
       PEX0 (Lane 0)
       PEX1 (Lane 1)
       SATA0 (Lane 2)
       SATA1 (Lane 3)
Net:   , egiga1 [PRIME]
Power On!

FDT loaded successfully
Hit any key to stop autoboot:  0 
Marvell>> help
?       - alias for 'help'
SatR    - Sample At Reset sub-system

active_units- print Board units active 
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
bootz   - boot Linux zImage image from memory
bubt    - bubt  - Burn an image on the Boot Flash.

chpart  - change active partition
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
date    - get/set/reset date & time
ddrPhyRead- ddrPhyRead - Read DDR PHY register

ddrPhyWrite- ddrPhyWrite - Write DDR PHY register

dhcp    - boot image via network using DHCP/TFTP protocol
diskboot- diskboot- boot from IDE device

dma     - dma   - Perform DMA using the XOR engine

echo    - echo args to console
editenv - edit environment variable
eeprom  - EEPROM sub-system
env     - environment handling commands
exit    - exit script
ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
false   - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fdt     - flattened device tree utility commands
fsinfo  - print information about filesystems
fsload  - load binary file from a filesystem image
go      - start application at address 'addr'
help    - print command description/usage
i2c     - I2C sub-system
ide     - ide     - IDE sub-system

iminfo  - print header information for application image
imxtract- extract a part of a multi-image
ir      - ir    - reading and changing MV internal register values.

itest   - return true/false on integer compare
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loadx   - load binary file over serial line (xmodem mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
ls      - list files in a directory (default /)
map     - map   - Display address decode windows

md      - memory display
me      - me    - PCI master enable

mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - display MMC info
mp      - mp    - map PCI BAR

mtdparts- define flash/nand partitions
mtest   - simple RAM read/write test
mw      - memory write (fill)
nand    - NAND sub-system
nboot   - boot from NAND device
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
pci     - list and access PCI Configuration Space
pciePhyRead- phyRead    - Read PCI-E Phy register

pciePhyWrite- pciePhyWrite      - Write PCI-E Phy register

phyRead - phyRead       - Read Phy register

phyWrite- phyWrite      - Write Phy register

ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
pxe     - commands to get and boot from pxe files
rcvr    - rcvr  - Satrt recovery process (Distress Beacon with TFTP server)

reset   - Perform RESET of the CPU
resetenv- resetenv      - Erase environment sector to reset all variables to default.

run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
scsi    - SCSI sub-system
scsiboot- boot from SCSI device
se      - se    - PCI Slave enable

setenv  - set environment variables
sg      - sg    - scanning the PHYs status

showvar - print local hushshell variables
sleep   - delay execution for some time
source  - run script from memory
sp      - scan and detect all devices on mvPCI interface
switchCountersRead- switchCntPrint      - Read switch port counters.

switchPhyRegRead- - Read switch register

switchPhyRegWrite- - Write switch register

switchRegRead- switchRegRead    - Read switch register

switchRegWrite- switchRegWrite  - Write switch register

temp    - temp  - Display the device temperature.

tempCmd0- tempCmd - This command allocated for monitor extinction

tempCmd1- tempCmd - This command allocated for monitor extinction

tempCmd2- tempCmd - This command allocated for monitor extinction

tempCmd3- tempCmd - This command allocated for monitor extinction

test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
training- training      - prints the results of the DDR3 Training.

true    - do nothing, successfully
ts_report- ts_report    - report touch screen coordinate

ts_test - ts_test       - test touch screen

ubi     - ubi commands
ubifsload- load file from an UBIFS filesystem
ubifsls - list files in a directory
ubifsmount- mount UBIFS volume
ubifsumount- unmount UBIFS volume
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor, compiler and linker version
whoAmI  - - reading CPU ID

Marvell>> SatR
SatR - Sample At Reset sub-system


Usage:
SatR list cpufreq  - prints the S@R modes list
SatR list fabfreq       - prints the S@R modes list
SatR list freq          - prints the S@R modes list
SatR list bootsrc       - prints the S@R modes list
SatR list pex           - prints the S@R modes list
SatR read cpufreq       - read and print the CPU frequency S@R value
SatR read fabfreq       - read and print the Fabric frequency S@R value
SatR read freq          - read and print the mode of cpu/ddr freq S@R value
SatR read bootsrc       - read and print the Boot source S@R value
SatR read pex           - read and print the pex capability mode from S@R value
SatR write cpufreq <val>        - write the S@R with CPU frequency value
SatR write fabfreq <val>        - write the S@R with Fabric frequency value
SatR write freq <val>           - write the S@R with the cpu/ddr freq mode
SatR write bootsrc <val> <optManVal>    - write the S@R with Boot source value
SatR write pex <val>            - write the S@R with the pex capability mode
SatR write default      - write the S@R with default board values 

Marvell>> SatR list
Usage: sar list [options] (see help) 
Marvell>> SatR list cpufreq
Determines the frequency of CPU:
Don't use this commnad. Use 'freq' instead. 
        0 = 400Mhz
        1 = 533Mhz
        2 = 667Mhz
        3 = 800Mhz
        4 = 1000Mhz
        5 = 1067Mhz
        6 = 1200Mhz
        7 = 1333Mhz
Marvell>> SatR list fabfreq
Determines the ratios between PCLK0, XPCLK, HCLK and DRAM clock.
For full deatails about the various options please refer to the clocking section in the HW spec.
Entered number is decimal.
Don't use this commnad. Use 'freq' instead. 
Marvell>> SatR list freq
val     CPU  / HCLK / DDR               CPU Freq        Fabric Freq
 0      533  / 266 / 533 Mhz            0x1             0x13
 1      667  / 333 / 334 Mhz            0x2             0x1
 5      800  / 266 / 533 Mhz            0x3             0x14
 8      1000 / 333 / 667 Mhz            0x4             0x14
 9      1200 / 300 / 600 Mhz            0x6             0x5
Marvell>> SatR list bootsrc
        0 = SPI - 32bit
        1 = NAND - 8bit, 4bit ECC, 4KB page size
        2 = NOR - ALE - 0, Muxed, 16bit
        3 = opt' = user manual option (opt)
Marvell>> SatR list pex
Determines the pex capability mode:
        1 = GEN 1
        2 = GEN 2
Marvell>> SatR read cpufreq
cpufreq = 255
Marvell>> SatR read fabfreq
fabfreq = 255
Marvell>> SatR read freq
Current freq mode is invalid!
Marvell>> SatR read bootsrc
        3(255) = opt' = user manual option (opt)
Marvell>> SatR read pex
pex = 65535
Marvell>>

Regards,
Trond Melen
Attachments:
open | download - RN102 boot serial console.lst (33.9 KB)
Re: GTI Mirabox, Netgear RN102/RN104, Netgear RN2120 Installation & Kernel Upgrade (Linux-6.9.6)
July 08, 2024 08:28PM
Thanks Trond!

But too bad, it did not have info we are looking for.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Hi bodhi,

Marvell>> SatR read cpufreq
cpufreq = 255
Marvell>> SatR read fabfreq
fabfreq = 255
Marvell>> SatR read freq
Current freq mode is invalid!
Marvell>> SatR read bootsrc
        3(255) = opt' = user manual option (opt)
Marvell>> SatR read pex
pex = 65535
Marvell>>
These parameters all seem to be uninitialized, so probably they are ignored. Still, should I try to set them?

Regards,
Trond Melen
Re: GTI Mirabox, Netgear RN102/RN104, Netgear RN2120 Installation & Kernel Upgrade (Linux-6.9.6)
July 08, 2024 11:56PM
Hi Trond,

> These parameters all seem to be uninitialized, so
> probably they are ignored. Still, should I try to
> set them?

No, we should not. Because we don't know this u-boot, and a messed up SAR register could be a lot worse than wiping out u-boot on flash (the system could be stuck on some limbo state).

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: GTI Mirabox, Netgear RN102/RN104, Netgear RN2120 Installation & Kernel Upgrade (Linux-6.9.6)
July 09, 2024 01:27AM
> > These parameters all seem to be uninitialized,
> so
> > probably they are ignored. Still, should I try
> to
> > set them?
>
> No, we should not. Because we don't know this
> u-boot, and a messed up SAR register could be a
> lot worse than wiping out u-boot on flash (the
> system could be stuck on some limbo state).

Note that the SAR register is actually read-only, but its content can be changed in memory after loaded. I'd be careful not to try because we don't really know how this u-boot behave.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: