[HOWTO] Installing OpenWrt on Cyberoam CR15(w)iNG and CR25(w)iNG

While I also got a 'real' RSR232/ rj45 serial one, I'd recommend the USB2serial ones these days (as devices with DB9 serial ports are getting rare) - even if they're a little more expensive (you're just more flexible that way).

Interesting, mine didn't have a fan on top of the CPU heat sink.

Assuming there are half size/lenght AC cards out there, I haven't seen any, but I also haven't been looking.

For Wifi AC Bluetooth combo i have some Intel 7260HMW

package: kmod-iwlwifi ??

the RS232 <-> FireFly Bluetooth works very well and that wirelessly.
I have used it before with my NetGear SRX5308 4*WAN Router
For the DB9 <-> RJ45 cable I have no worries

I read that the cr25 is a single core cpu. https://www.cpu-world.com/CPUs/Bobcat/AMD-G%20Series%20G-T30L%20-%20GET30LGBB12GTE.html

It appears that some of the confusion is caused by the fact that Cyberoam at some point updated their hardware and used the same model names. Looking at ebay you can see some CR25(w)iNG models that are rebranded AEWIN SCB-6901 devices and others that use the newer AEWIN SCB-6979 device. To tell the difference you'll need to see the Model number on the label on the bottom of the device.

3 Likes

While waiting to receive the material today I am trying to install an x86 version on an old laptop
I compiled a firmware by adding lspci
I used Rufus to put a firmware in a 480 Gb SSD
The first tests are conclusive, no problem at startup
Then, as there is no compatible network driver, I therefore had to use lspci to get the information concerning the lan and wifi ports.
I recompiled again with the drivers and this time the network cards are detected. everything is fine except for the wifi which does not have WPA2.

I added the following list that I use every time and this time the wifi works

opkg update
opkg install ntfs-3g
opkg install e2fsprogs  fstools fwtool block-mount blkid lsblk
opkg install kmod-fs-exfat kmod-fs-exportfs kmod-fs-ext4
kmod-fs-reiserfs kmod-fs-vfat 
opkg install kmod-scsi-core 
opkg install kmod-usb-core  kmod-usb-storage kmod-usb-storage-extras
opkg install kmod-usb-storage-uas kmod-usb-printer kmod-usb-xhci-mtk
opkg install kmod-usb-wdm kmod-usb-xhci-hcd 
opkg install kmod-usb3
opkg install kmod-mtd-rw
opkg install luci-app-samba4
opkg install luci luci-app-opkg luci-theme-bootstrap luci-theme-material
opkg install luci-app-p910nd luci-app-minidlna
opkg install luci-proto-relay
opkg install luci-app-hd-idle hd-idle luci-app-xinetd xinetd 
opkg install sane-daemon sane-plustek sane-frontends 
opkg install usbutils  
ln -s /usr/bin/ntfs-3g /sbin/mount.ntfs

AFAIK AP in AC mode still isn't supported, only N, but I hope I'm wrong, for your sake.
Personally, I steer clear of Realtek and Intel cards, when AP mode is being considered.

Even though it's very old, read https://vincent.bernat.ch/en/blog/2014-intel-7260-access-point,

I replaced the old Intel Wifi Link 5100 card which only does Wifi " a and 5G " by an AC-7260 (rev 73) and it works very well in client mode relay mode

Tested in AP mode i have hostapd segfault error 0 .... ??

It was great if i found a compatible wifi 6 ax card !!!

problem isn't finding an AX card, it's finding a half size AX card.

https://fr.aliexpress.com/item/1005001805523219.html?pdp_npi=2%40dis!EUR!€%2012%2C50!6%2C25%20€!!!!!%400b0a172716676713312113360ec398!12000017678494005!btf&_t=pvid%3Ac1f59904-df1d-4e2a-883c-924eef0375cd&afTraceInfo=1005001805523219__pc__pcBridgePPC__xxxxxx__1667671331&spm=a2g0o.ppclist.product.mainProduct&gatewayAdapt=glo2fra

The problem, for me, is not the size of the card but to find it compatible and cheap!!!

...and then dealing with the heat dissipation and hoping that it won't burn out the power delivery traces of the old mini-PCIe slots. 802.11ax cards are power hungry (often above power delivery specs) and are running hot, very hot, often requiring active cooling and/ or large thermal heatsinks.

I have found this adpater usable with NGFF cards wifi 5Ghz ?

Also :slight_smile: https://fr.aliexpress.com/item/1005001334681704.html?pdp_npi=2%40dis!EUR!€%204%2C33!3%2C55%20€!!!!!%40211b4cff16676766375603920e7d29!12000015763216874!btf&_t=pvid%3Aa95be2fb-9df6-4960-b6bd-97446d4f956e&afTraceInfo=1005001334681704__pc__pcBridgePPC__xxxxxx__1667676637&spm=a2g0o.ppclist.product.mainProduct&gatewayAdapt=glo2fra

mt7921 card NGFF

https://fr.aliexpress.com/i/1005003916843106.html

kit with antennas

MT7921 AP mode
https://patchwork.kernel.org/project/linux-mediatek/patch/8868a55bcaec80822e5b671c7a6023583d1b16b0.1649269260.git.objelf@gmail.com/

Interessants infos:

Hi,

I bought a cheap CR25wING on ebay recently and I'm currently setting it up as my main router. It came with a 4GB compact flash card and a 320 GB laptop hard drive. It has a small single fan on the side of the casing.

Installation and setup has been straightforward but one thing that I would like to do is adjust the fan speed based on the CPU temperature. I've installed lm-sensors and sensors-detect but it can't find an i2c bus / device. When I check dmesg there is only one line mentioning i2c:

root@CR25WING:~# dmesg | grep i2c
[   10.304728] i2c /dev entries driver

Does anybody know which i2c driver is needed and if the fan speed can be controlled?

Thanks,

Koen

1 Like

OK I just installed all the i2c related kmods and checked the dmesg for any changes. It appears that kmod-i2c-piix4 is needed to get a working i2c bus / device.

lm-sensors-detect shows the following output:

Now follows a summary of the probes I have just done.
Just press ENTER to continue: 

Driver `w83627ehf':
  * ISA bus, address 0x290
    Chip `Winbond W83627DHG-P/W83527HG Super IO Sensors' (confidence: 9)

Driver `fam15h_power':
  * Chip `AMD Family 16h power sensors' (confidence: 9)

Driver `k10temp':
  * Chip `AMD Family 16h thermal sensors' (confidence: 9)

Do you want to generate /etc/sysconfig/lm_sensors? (yes/NO): y

So there are some sensors on the board but I'm not sure if it possible to adjust the fanspeed based on CPU temperature.

2 Likes

Ok I've now installed the following 2 packages as well:

opkg install kmod-hwmon-w83627ehf
opkg install kmod-hwmon-gpiofan

and the there is a whole list of stuff in here:

root@CR25WING:/sys/devices/platform/w83627ehf.656/hwmon/hwmon2# pwd
/sys/devices/platform/w83627ehf.656/hwmon/hwmon2/subsystem/hwmon2
root@CR25WING:/sys/devices/platform/w83627ehf.656/hwmon/hwmon2# ll
drwxr-xr-x    3 root     root             0 Nov  5 21:19 ./
drwxr-xr-x    3 root     root             0 Nov  5 21:19 ../
-r--r--r--    1 root     root          4096 Nov  5 21:24 cpu0_vid
lrwxrwxrwx    1 root     root             0 Nov  5 21:19 device -> ../../../w83627ehf.656/
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan1_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan1_div
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan1_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 fan1_min
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan2_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan2_div
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan2_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 fan2_min
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan3_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan3_div
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan3_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 fan3_min
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan4_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan4_div
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan4_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 fan4_min
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan5_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan5_div
-r--r--r--    1 root     root          4096 Nov  5 21:24 fan5_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 fan5_min
-r--r--r--    1 root     root          4096 Nov  5 21:24 in0_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 in0_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in0_max
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in0_min
-r--r--r--    1 root     root          4096 Nov  5 21:24 in1_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 in1_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in1_max
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in1_min
-r--r--r--    1 root     root          4096 Nov  5 21:24 in2_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 in2_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in2_max
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in2_min
-r--r--r--    1 root     root          4096 Nov  5 21:24 in3_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 in3_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in3_max
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in3_min
-r--r--r--    1 root     root          4096 Nov  5 21:24 in4_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 in4_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in4_max
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in4_min
-r--r--r--    1 root     root          4096 Nov  5 21:24 in5_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 in5_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in5_max
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in5_min
-r--r--r--    1 root     root          4096 Nov  5 21:24 in6_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 in6_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in6_max
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in6_min
-r--r--r--    1 root     root          4096 Nov  5 21:24 in7_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 in7_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in7_max
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in7_min
-r--r--r--    1 root     root          4096 Nov  5 21:24 in8_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 in8_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in8_max
-rw-r--r--    1 root     root          4096 Nov  5 21:24 in8_min
-rw-r--r--    1 root     root          4096 Nov  5 21:24 intrusion0_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 name
drwxr-xr-x    2 root     root             0 Nov  5 21:24 power/
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm1
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm1_enable
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm1_mode
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm1_start_output
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm1_stop_output
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm1_stop_time
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm1_target
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm1_tolerance
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm2
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm2_enable
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm2_max_output
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm2_mode
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm2_start_output
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm2_step_output
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm2_stop_output
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm2_stop_time
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm2_target
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm2_tolerance
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm3
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm3_enable
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm3_mode
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm3_start_output
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm3_stop_output
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm3_stop_time
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm3_target
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm3_tolerance
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm4
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm4_enable
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm4_max_output
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm4_mode
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm4_start_output
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm4_step_output
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm4_stop_output
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm4_stop_time
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm4_target
-rw-r--r--    1 root     root          4096 Nov  5 21:24 pwm4_tolerance
lrwxrwxrwx    1 root     root             0 Nov  5 21:24 subsystem -> ../../../../../class/hwmon/
-r--r--r--    1 root     root          4096 Nov  5 21:24 temp1_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 temp1_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 temp1_max
-rw-r--r--    1 root     root          4096 Nov  5 21:24 temp1_max_hyst
-rw-r--r--    1 root     root          4096 Nov  5 21:24 temp1_offset
-r--r--r--    1 root     root          4096 Nov  5 21:24 temp1_type
-r--r--r--    1 root     root          4096 Nov  5 21:24 temp2_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 temp2_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 temp2_max
-rw-r--r--    1 root     root          4096 Nov  5 21:24 temp2_max_hyst
-rw-r--r--    1 root     root          4096 Nov  5 21:24 temp2_offset
-r--r--r--    1 root     root          4096 Nov  5 21:24 temp2_type
-r--r--r--    1 root     root          4096 Nov  5 21:24 temp3_alarm
-r--r--r--    1 root     root          4096 Nov  5 21:24 temp3_input
-rw-r--r--    1 root     root          4096 Nov  5 21:24 temp3_max
-rw-r--r--    1 root     root          4096 Nov  5 21:24 temp3_max_hyst
-rw-r--r--    1 root     root          4096 Nov  5 21:24 temp3_offset
-r--r--r--    1 root     root          4096 Nov  5 21:24 temp3_type
-rw-r--r--    1 root     root          4096 Nov  5 21:24 uevent

So I guess it needs a bit of probing of the variables in here to see if anything results in a change in fan rpm.

2 Likes

@konus

I don't know if this is any help, but on my PC i'm using pwmconfig to control the fanspeed.
I know on OpenWRT there's a package called Kmod-hwmon-pwmfan,
perhaps this might do something similar.
Please refer to CPU FAN Control (x86_64)

Thanks for the advice. I've installed the package but unfortunately nothing changes. I've tried changing the pwm settings but the fan keeps spinning at the same rate. I did read through the other thread. I guess I need to run a full linux distribution first to see if that shows any other sensors / controls that may not be available in OpenWrt.

I've opened the case and the fan is connected to a 4 pin header but uses only 3 wires. So I don't think the speed of the current fan can actually be controlled. The fan may need to be updated to a 4 wire one first.

I'm tempted to disconnect it and keep an eye on the reported temperatures. The device is very similar to a pc engines APU2 which is passively cooled.

You don't need a 4 wire fan, to be able to control the speed, at least in theory, in this case who knows.

Replace it with a quiet Noctua instead of unplugging it.

I ordered a Silverstone FTF 4010 40mm High Performance Fan which is 4 wire and slightly cheaper than a Noctua. It is however more expensive than what I paid for the whole router.

"High performance" doesn't sound quiet, and 10mm doesn't help.
The thicker, the more air can it move at low(er) RPMs.
Already sold my cr25, but you should at least be able to fit a 15mm, or perhaps even 20mm fan in there.

@NC1 could you measure the distance between the casing and the PCB?