If you'd like to run a modern kernel and have support for all those iConnect-specific features, you have two options: apply Iomega's iConnect patchset to kernel's RD-88F6281 code and compile the custom kernel or change the arcNumber of your iConnect. I'll only explain how to do the latter here.
WARNING: Once you change the arcNumber on iConnect, you will no longer be able to boot Iomega stock kernel until you reset arcNumber back to stock.
Brief explanation
arcNumber is a parameter that iConnect's uBoot loader passes to Linux kernel to tell it what hardware it will be running on. In other words, it tells the kernel to execute the code specific to that particular hardware. In case of iConnect, two values of arcNumber are relevant:
- 1682 is what the stock iConnect ships with and is the only value supported by Iomega's shipped kernel; as this happens to correspond to the reference board's arcNumber, Arch kernel can also boot with it but some iConnect-specific initialization and features will be missing.
- 2870 is the value assigned to iConnect device in the official Linux machine id registry. Arch Linux kernel needs to be passed this value to execute iConnect-specific initialization. Stock Iomega kernel will not be able to boot at all if passed this value.
Note that you need a reasonably recent Arch kernel to run with arcNumber of 2870 so updating to the latest is a good idea.
Changing arcNumber from the Iomega stock kernel.
If you cannot properly boot into Arch Linux after following the guide on this forum (e.g., because you can't get the IP address on eth0), you can try to change the arcNumber from Iomega stock kernel. Follow the first two steps of the iConnect install guide to ssh into your iConnect and run the following commands:
- Code: Select all
cd /tmp
wget --no-check-certificate https://raw.github.com/igors/iconnect_usb_boot/master/iconnect_install.sh
chmod +x iconnect_install.sh
./iconnect_install.sh --set-arcNumber --no-uboot --no-arch
You're done. If the only problem you had prior to changing the arcNumber was eth0 initialization, it should now work fine and you'll also get full control of your LEDs etc.
Changing arcNumber from Arch Linux.
If you already have a working Arch installation on your iConnect, you can change the arcNumber from within Arch. ssh into the iConnect and install uboot-env package:
- Code: Select all
pacman -S uboot-env
You need to edit /etc/fw_env.config; open it in your favorite editor and make sure the only uncommented line there is as follows:
- Code: Select all
/dev/mtd0 0xa0000 0x20000 0x20000
If you installed Arch by following the guide on this forum, the installation script probably created /etc/fw_env.conf file for you; feel free to rename it to /etc/fw_env.config.
Now, check that your setup is operational by running
- Code: Select all
fw_printenv
- Code: Select all
fw_printenv arcNumber
If fw_printenv works, change the arcNumber:
- Code: Select all
fw_setenv arcNumber 2870
You're done. Reboot and enjoy full control of your LEDs, the temperature sensor, OTB button and fully operational eth0.
If you ever want to boot Iomega stock kernel again, you'll need to reset the arcNumber back to 1682.
