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:
$this->bbcode_second_pass_code('', '
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:
$this->bbcode_second_pass_code('', '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:
$this->bbcode_second_pass_code('', '
/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 $this->bbcode_second_pass_code('', 'fw_printenv') as root - it should print a few dozen lines of uboot environment variables and produce no error messages. Running $this->bbcode_second_pass_code('', 'fw_printenv arcNumber') should print "arcNumber=1682". DO NOT PROCEED IF fw_printenv IS NOT OPERATIONAL, you'll brick your iconnect.
If fw_printenv works, change the arcNumber:
$this->bbcode_second_pass_code('', '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.