Chadster766 / McDebian

Linksys WRT3200ACM, WRT1900AC, WRT1900ACS, WRT1200AC and WRT32X Router Debian Implementation
98 stars 14 forks source link

lvm2 installation problem #37

Closed Redferne closed 7 years ago

Redferne commented 7 years ago

Hi and thank you for McDebian!! Finally able to really unleash the power of the WRT3200! One small problem though, trying to spin up my JBOD array (which worked OK with LEDE)

root@wayout:~# apt-get install lvm2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
lvm2 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@wayout:~# apt-get install --reinstall lvm2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/676 kB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 21866 files and directories currently installed.)
Preparing to unpack .../lvm2_2.02.111-2.2+deb8u1_armhf.deb ...
Unpacking lvm2 (2.02.111-2.2+deb8u1) over (2.02.111-2.2+deb8u1) ...
Processing triggers for systemd (215-17+deb8u7) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up lvm2 (2.02.111-2.2+deb8u1) ...
Job for lvm2-activation.service failed. See 'systemctl status lvm2-activation.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript lvm2, action "start" failed.
update-initramfs: deferring update (trigger activated)
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Processing triggers for initramfs-tools (0.120+deb8u3) ...
update-initramfs: Generating /boot/initrd.img-4.2.4
WARNING: missing /lib/modules/4.2.4
Ensure all necessary drivers are built into the linux image!
depmod: ERROR: could not open directory /lib/modules/4.2.4: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: WARNING: could not open /var/tmp/mkinitramfs_yA9H5V/lib/modules/4.2.4/modules.order: No such file or directory
depmod: WARNING: could not open /var/tmp/mkinitramfs_yA9H5V/lib/modules/4.2.4/modules.builtin: No such file or directory

I have applied your latest rootfs (mcdebian-rootfs-update-v4.9.31-VER1.gz)

Please advice :cry:

Redferne commented 7 years ago
root@wayout:~/home/root/bin# lvm vgchange -aay
  WARNING: lvmetad is running but disabled. Restart lvmetad before enabling it!
  /dev/mapper/control: open failed: No such device
  Failure to communicate with kernel device-mapper driver.
  Check that device-mapper is available in the kernel.
  Incompatible libdevmapper  and kernel driver 
  0 logical volume(s) in volume group "jbod" now active
root@wayout:~# modprobe dm_mod
modprobe: FATAL: Module dm_mod not found.
Chadster766 commented 7 years ago

I will have to look into this but from my experience you either have to build the package source on the WRT or I will have to add required drivers into the firmware for you so the package doesn't try to install the driver module which mismatches the McDebian kernel version which is newer the original Jessie kernel version.

Debian Stretch uses kernel 4.9 which McDebian uses and I was planning on making a rootfs for that but I've been very busy and haven't been able to create it. Even if I used a Stretch rootfs the kernel version should typically mismatch unless I do some minor wizardry to make sure the kernel version always matches the Stretch kernel version.

Keep in mind this only effect packages that need to install drivers.

Redferne commented 7 years ago

Sounds good. I dont mind building it on the WRT. A very short "how to" would be really helpful. Like getting the correct kernel sources and any patches you've made.

Also, now I realize that I missing alot of usb drivers such as cdc_wdm, cdc_acm, usbhid. I really can't live without them.

Please advice 😭

Chadster766 commented 7 years ago

Nothing special since the McDebian rootfs has very little customization and the kernel is not patched at all. (other than standard kernel updates)

Current McDebian firmware kernel is v4.9.31.

To get package sources use "apt-get source " in your build directory. There is a lot of options for "apt-get source" but don't worry about the kernel version they should compile normally with:

./configure
make
make install
Redferne commented 7 years ago

I need to compile the missing kernel modules such as dm_mod for lvm2 package. So I would need the kernel headers for 4.9.31 right? Closest I could find for debian stretch was 4.9.30?

root@wayout:~/code/mcdebian# ls -al /lib/modules/4.9.31/
lrwxrwxrwx 1 root root    33 jun 11 20:18 build -> /root/McDebian/kernel/linux-4.9.1
lrwxrwxrwx 1 root root    33 jun 11 20:18 source -> /root/McDebian/kernel/linux-4.9.1

/root/McDebian/ <<-- would be nice to have stuff in here?

Chadster766 commented 7 years ago

I don't think so

jbsky commented 7 years ago

You are missing the "device-mapper" or CONFIG_BLK_DEV_DM.

Redferne commented 7 years ago

Yes. Please help me help myself to build it :sos: I'm stupid :duck:

jbsky commented 7 years ago

No, nobody is stupid, just find the person who will explain what you need to know at the right time. I hope you have a USB to TTL operating at 3.3V, otherwise I won't try to manipulate it.

To begin, you need to know how to prepare a kernel image. You must install packages that allow you to build your kernel.

apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc liblz4-tool kernel-package u-boot-tools

Then try this script : mkWRT3200.txt I don't have a WRT3200, but that's what I would have done. I've already tried to get the best of it, but you never know.

Don't forget to make it executable! chmod +x mkWRT3200.txt

Analyze the script to fully understand what it does in order to best adapt it to your situation such as changing the IP address to the router variable.

A small precision, if you want to boot on lvm, this one needs an initrd, which we don't do here! It won't work!

Good luck!

jbsky commented 7 years ago

I have a little error on the script, try this. mkWRT3200.txt

Redferne commented 7 years ago

Yes Sir! Thank you! :smiley: Adapted your wonderful script and built directly on target. But there seems to be some kind of mismatch with the kernel dm-builtin.o or something.

root@wayout:~/code/mcdebian/linux-4.9.31# modprobe dm-mod 
modprobe: ERROR: could not insert 'dm_mod': Unknown symbol in module, or unknown parameter (see dmesg)
[128567.459036] dm_mod: Unknown symbol dm_kobject_release (err 0)

I guess I need to flash the new image (firmware-WRT3200ACM)?

I'll attempt this when I get home and have physical access to the device and get the TTL cable attached :+1:

jbsky commented 7 years ago

Update your kernel with your new image with your USB-TLL cable. Sometimes I don't know why, but I need to return the modules twice via scp to make it work. If in doubt, send back the modules using scp.

If that doesn't work, that's maybe there's missing options. Start the menu with the following command: make ARCH=arm CROSS_COMPILE=arm-none-eabi- menuconfig Then it's in "device drivers-> Multiple devices driver support (RAID and LVM) ---- "

Good luck.

Redferne commented 7 years ago

Got the modules copied to the rootfs ok. Flashed the new build, but it failed to boot. Now time to break open the box and connect the USB-TTL cable :face_with_head_bandage: I might have been too eager in my build since I pulled the latest mwlwifi from kaloz :laughing: If you guys can think of anything I've missed while running @jbsky fine build script mkWRT3200 please let me know :thinking:

Chadster766 commented 7 years ago

I recommend using the current McDebian release and building the package on the WRT itself. This will make it very easy to do. Probably only the three commands I previous posted to get this job done :smile:

jbsky commented 7 years ago

I tested it at home and the kernel looks like it's complete.

Image Name: Kernel 4.9.31 Created: Kill Sep 5 19:18:07 2017 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3826886 Bytes = 3737.19 kB = 3.65 MB Load Address: 00100000 Entry Point: 00100000 What to check are the addresses defined on the -a and -e flags. Ask @Chadster766 or @ValCher1961 for confirmation. mkimage -A arm -O linux -T kernel -C none -a 0x100000 -e 0x100000 -n "Kernel" -d. /zImage-linksys-rango. /firmware-WRT3200ACM

I warned you, as I do not have this model, I cannot guarantee the perfect execution of the procedure. That's why I advised you to have a USB-TTL cable before starting the compilation and especially the kernel flash.

Redferne commented 7 years ago

Yes. I'm building on the WRT, but it is not the package that is missing. It is the kernel module dm_mod.ko I need to get lvm2 working. Now I have serial access and will be able to see if there is something obvious that causing my kernel build to fail during boot. Unless you are willing to enable:

CONFIG_MD=y
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=m
CONFIG_USB_HID=m
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_WDM=m
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_CH341=m
CONFIG_USB_NET_CDC_MBIM=m
CONFIG_USB_SERIAL_CP210X=m

and rebuild for me :smiley: ?

Chadster766 commented 7 years ago

Oh right sorry I forgot that this is a kernel module :smiley:

jbsky commented 7 years ago

@Chadster766 , Are you in charge of including the modules? 🍾

Chadster766 commented 7 years ago

Yes but I'm very busy these days and haven't be able to get a new release completed yet.

jbsky commented 7 years ago

@Chadster766 In the meantime, could you confirm the flags for me, please?

Redferne commented 7 years ago

I'll retry a cross compile on my laptop and see if that makes any difference. Have you guys had issues with the WRT3200 refusing to power up when USB-TTL is connected? Mine does not even get to u-boot if the USB-TTL is connected, if I remove it and power cycle it boots up fine. I kind of defeats the whole purpose :angry:

ValCher1961 commented 7 years ago

About addresses, I use the following - mkimage -A arm -O linux -T kernel -C none -a 0x8000 -e 0x8000

Chadster766 commented 7 years ago

@Redferne don't connect the +5vdc to the TTL serial port.

Redferne commented 7 years ago

Nope, only GND, TX, RX connected here.

ValCher1961 commented 7 years ago

Oh, make sure you have a socket on the board correctly. https://wiki.openwrt.org/_detail/media/linksys/wrt1900ac/wrt1900ac_serial_header.jpg?id=toh%3Alinksys%3Awrt_ac_series The wrt3200 nest is rotated 90 degrees in the clockwise direction

Redferne commented 7 years ago

Yes. The USB-TTL works fine if I connect it AFTER I have powered on the WRT3200, but by then it's too late to get to u-boot... :face_with_head_bandage:

ValCher1961 commented 7 years ago

That is, if you have a usb_ttl on a router that is turned off, when you turn on the router, there is no connection?

jbsky commented 7 years ago

It's safe to say that if you leave the cable plugged in, it's easier to get there. ;)

Follow the instructions: https://github.com/Chadster766/McDebian/wiki/2.-Firmware-Uploading

I tried to compile something for you, but it's still unsafe. firmware-WRT3200ACM.img.txt

Moreover the modules are 190MB, it's too big for github.

Redferne commented 7 years ago

The router does not boot if the USB-TTL is attached. I will try another build here now... Be right back...

Redferne commented 7 years ago

Ok. I changed USB-TTL adapter to another one (trusted and works). Here's the output from my newly squeezed image:

BootROM - 1.73
Booting from NAND flash

General initialization - Version: 1.0.0
AVS selection from EFUSE disabled (Skip reading EFUSE values)
mvSysEnvIsFlavourReduced: TWSI Read of 'flavor' failed
Detected Device ID 6820
High speed PHY - Version: 2.0

Init RD NAS topology Serdes Lane 3 is USB3
Serdes Lane 4 is SGMII
board SerDes lanes topology details:
 | Lane # | Speed|    Type     |
 ------------------------------|
 |   0    |  6   |  SATA0      |
 |   1    |  5   |  PCIe0      |
 |   2    |  6   |  SATA1      |
 |   3    |  5   |  USB3 HOST1 |
 |   4    |  5   |  PCIe1      |
 |   5    |  0   |  SGMII2     |
 -------------------------------
:** Link is Gen1, check the EP capability 
PCIe, Idx 0: Link upgraded to Gen2 based on client cpabilities 
:** Link is Gen1, check the EP capability 
PCIe, Idx 1: remains Gen1
High speed PHY - Ended Successfully
DDR3 Training Sequence - Ver TIP-1.46.0
mvSysEnvGetTopologyUpdateInfo: TWSI Read failed
DDR3 Training Sequence - Switching XBAR Window to FastPath Window 
DDR3 Training Sequence - Ended Successfully
Not detected suspend to RAM indication
BootROM: Image checksum verification PASSED

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

U-Boot 2013.01 (Apr 08 2016 - 15:47:50) Marvell version: 2015_T1.QA.0p16

Boot version : v0.0.4

Board: RD-NAS-88F6820-DDR3
SoC:   MV88F6820 Rev A0
       running 2 CPUs
CPU:   ARM Cortex A9 MPCore (Rev 1) LE
       CPU 0
       CPU    @ 1866 [MHz]
       L2     @ 933 [MHz]
       TClock @ 200 [MHz]
       DDR3    @ 933 [MHz]
       DDR3 32 Bit Width,FastPath Memory Access, DLB Enabled, ECC Disabled
DRAM:  512 MiB
NAND:  256 MiB
MMC:   mv_sdh: 0
DEVINFO offset == 0x7e0000
U-ENV offset == 0x200000
U-ENV offset == 0x200000
S-ENV offset == 0x220000

#### auto_recovery ####
[u_env] get auto_recovery == yes
[u_env] get auto_recovery == yes
[u_env] get boot_part == 2
[u_env] get boot_part_ready == 3
auto_recovery enabled:1, boot_part:2, boot_part_ready:3 

S-ENV offset == 0x220000
[boot_count_read] block:0x220000, size:128KB, records:64 
[boot_count_read_record] boot_count:0, next_record:39

[boot_count_write] erase:0, auto_recovery->block_offset:0x220000 offset=0x233800

Updating boot_count ... 
[boot_count_write] offset:0x233800 , length:2048
done

PCI-e 0 (IF 0 - bus 0) Root Complex Interface, Detected Link X1, GEN 2.0
PCI-e 1 (IF 1 - bus 1) Root Complex Interface, Detected Link X1, GEN 1.1
USB2.0 0: Host Mode
USB3.0 1: Host Mode
USB3.0 0: Host Mode

Map:   Code:            0x1feab000:0x1ff75a20
       BSS:         0x1ffef164
       Stack:           0x1f9aaf20
       Heap:            0x1f9ab000:0x1feab000
U-ENV offset == 0x200000
U-ENV offset == 0x200000
       U-Boot Environment:  0x00200000:0x00220000 (NAND)

Board configuration detected:
mvEthE6171SwitchBasicInit init 
Net:   
|  port  | Interface | PHY address  |
|--------|-----------|--------------|
| egiga0 |   RGMII   |     0x01     |
| egiga1 |   SGMII   |     0x00     |
| egiga2 |   SGMII   |   In-Band    |
egiga0 [PRIME], egiga1, egiga2
auto_recovery_check changes bootcmd: run altnandboot 
Hit any key to stop autoboot:  0 

NAND read: device 0 offset 0x5a00000, size 0x600000
 6291456 bytes read: OK
## Booting kernel from Legacy Image at 02000000 ...
   Image Name:   Kernel 
   Created:      2017-09-05  21:27:20 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3843054 Bytes = 3.7 MiB
   Load Address: 00100000
   Entry Point:  00100000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

And it just sits there... nothing more.. mkimage -A arm -O linux -T kernel -C none -a 0x100000 -e 0x100000 -n "Kernel ${VER}" -d ./zImage-linksys-rango ./firmware-WRT3200ACM

Then I tried @ValCher1961 addresses:

mkimage -A arm -O linux -T kernel -C none -a 0x8000 -e 0x8000

## Booting kernel from Legacy Image at 02000000 ...
   Image Name:   Kernel 4.9.31
   Created:      2017-09-05  21:37:27 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3843054 Bytes = 3.7 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Kernel is not even booting the CPU.. What am I missing?

Chadster766 commented 7 years ago

Did you cat the dtb to the kernel image?

jbsky commented 7 years ago

Have you tried the image I uploaded?

Otherwise, personally, I won't be able to help you any more because I don't own the device.

ValCher1961 commented 7 years ago

Yes, like there's no DTB

ValCher1961 commented 7 years ago

Found cat arch/arm/boot/zImage _arch/arm/boot/dts/armada-385-linksys-rango.dtb > ./zImage-linksys-rango mkimage -A arm -O linux -T kernel -C none -a 0x8000 -e 0x8000 -n "Kernel ${VER}" -d ./zImage-linksys-rango ./firmware-WRT3200ACM

armada-385-linksys-rango.dtb

jbsky commented 7 years ago

I'm sorry! Thank you guys! it should work better now! 👏

ValCher1961 commented 7 years ago

We have a saying, "Mistakes don't make someone who does nothing" :)

Redferne commented 7 years ago

Nice find. But where can I find the armada-385-linksys-rango.dtb file? I only have ./arch/arm/boot/dts/armada-385-linksys-rango.dts Strange since I have .dtb files for cobra and caiman. Please help! :duck:

ValCher1961 commented 7 years ago

File to appear after command make ARCH=arm CROSS_COMPILE=arm-none-eabi- -j16 dtbs in /arch/arm/boot/dts

jbsky commented 7 years ago

Try the patch:

add_dtd_rango_to_Makefile.txt

move to the linux root and apply the command : patch -p0 < add_dtd_rango_to_Makefile.txt

I love patches!

Don't forget to recompile.

Redferne commented 7 years ago

Yes! And bob's your uncle :haircut_man: It's alive!!! Now next issue. It seems like the switch or netdevices are mixed up:

Welcome to Debian GNU/Linux 8 (jessie)!

[    7.176650] NET: Registered protocol family 10
[    7.181525] systemd[1]: Inserted module 'ipv6'
[    7.186699] systemd[1]: Set hostname to <wayout>.
[    7.421649] systemd[1]: Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory.
[    7.437608] systemd[1]: Expecting device dev-ttyS0.device...
         Expecting device dev-ttyS0.device...
[    7.481624] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
[    7.489385] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    7.497019] systemd[1]: Starting Remote File Systems (Pre).
[  OK  ] Reached target Remote File Systems (Pre).
[    7.531604] systemd[1]: Reached target Remote File Systems (Pre).
[  OK  ] Reached target Paths.
[  OK  ] Reached target Encrypted Volumes.
[  OK  ] Reached target Swap.
[  OK  ] Created slice Root Slice.
[  OK  ] Created slice User and Session Slice.
[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
[  OK  ] Listening on Delayed Shutdown Socket.
[  OK  ] Listening on Journal Socket (/dev/log).
[  OK  ] Listening on udev Control Socket.
[  OK  ] Listening on udev Kernel Socket.
[  OK  ] Listening on Journal Socket.
[  OK  ] Created slice System Slice.
[  OK  ] Created slice system-openvpn.slice.
[  OK  ] Created slice system-getty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
         Starting udev network interface rules...
         Mounting Debug File System...
         Starting Load Kernel Modules...
         Starting Create list of required static device nodes...rrent kernel...
[    8.161259] ip6_tables: (C) 2000-2006 Netfilter Core Team
         Starting udev Coldplug all Devices...
         Starting Journal Service...
[  OK  ] Started Journal Service.
[  OK  ] Reached target Slices.
         Starting Remount Root and Kernel File Systems...
[  OK  ] Mounted Debug File System.
[  OK  ] Started Load Kernel Modules.
[  OK  ] Started Create list of required static device nodes ...current kernel.
[  OK  ] Started udev network interface rules.
[  OK  ] Started Remount Root and Kernel File Systems.
[  OK  ] Started udev Coldplug all Devices.
         Starting udev Wait for Complete Device Initialization...
         Starting Load/Save Random Seed...
         Starting Create Static Device Nodes in /dev...
         Starting Apply Kernel Variables...
[  OK  ] Started Load/Save Random Seed.
[  OK  ] Started Create Static Device Nodes in /dev.
[  OK  ] Started Apply Kernel Variables.
         Starting udev Kernel Device Manager...
[  OK  ] Reached target Local File Systems (Pre).
[    8.831635] systemd-udevd[2337]: starting version 215
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started udev Wait for Complete Device Initialization.
[  OK  ] Found device /dev/ttyS0.
[    8.938232] mvneta_bm f10c8000.bm: Buffer Manager for network controller enabled
         Starting Copy rules generated while the root was ro...
[    8.976630] marvell-cesa f1090000.crypto: CESA device successfully registered
         Starting (null)...

[    8.989981] mvneta f1070000.ethernet eth0: Using hardware mac address 60:38:xx:bc:xx:10
[    9.001715] mvneta f1034000.ethernet eth1: Using random mac address ca:f7:d3:66:4b:a1
[    9.049265] Distributed Switch Architecture driver version 0.1
[    9.055174] mvneta f1034000.ethernet eth1: [0]: could not detect attached switch
[    9.062614] mvneta f1034000.ethernet eth1: [0]: couldn't create dsa switch instance (error -22)

[  OK  ] Started Copy rules generated while the root was ro.
[  OK  ] Started (null).
[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
[  OK  ] Reached target Remote File Systems.
[    9.218973] random: crng init done
         Starting Trigger Flushing of Journal to Persistent Storage...
[    9.262061] hid-generic 0003:051D:0002.0001: device has no listeners, quitting
[    9.269460] usbcore: registered new interface driver usbhid
[    9.275071] usbhid: USB HID core driver

         Starting LSB: Ra[    9.281629] mvneta f1034000.ethernet eth1: [0]: could not detect attached switch
ise network inte[    9.289720] mvneta f1034000.ethernet eth1: [0]: couldn't create dsa switch instance (error -22)
rfaces....

[    9.376972] <<Marvell Mac80211 Wireless PCIE Network Driver version 10.3.4.0-20170810>>
[    9.385048] pci 0000:00:01.0: enabling device (0140 -> 0142)
[  OK  ] Started Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...

[    9.502483] mvneta f1034000.ethernet rename3: renamed from eth1
[    9.506692] systemd-journald[1312]: Received request to flush runtime journal from PID 1

[    9.531794] systemd-udevd[2341]: renamed network interface eth1 to rename3
[    9.532023] mvneta f1070000.ethernet eth1: renamed from eth0

[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Started Trigger Flushing of Journal to Persistent Storage.

[    9.582019] systemd-udevd[2338]: renamed network interface eth0 to eth1
[    9.598543] mvneta f1034000.ethernet eth0: renamed from rename3
[    9.641995] systemd-udevd[2341]: renamed network interface eth1 to eth0

[  OK  ] Created slice system-ifup.slice.
[   12.557627] ieee80211 phy0: firmware version: 0x9030007
[   12.865591] ieee80211 phy0: firmware region code: 30
[   12.897149] ieee80211 phy0: 2G disabled, 5G enabled
[   12.902060] ieee80211 phy0: 4 TX antennas, 4 RX antennas
[   12.907452] pci 0000:00:02.0: enabling device (0140 -> 0142)

[   12.913459] mvneta f1034000.ethernet eth0: [0]: could not detect attached switch
[   12.920896] mvneta f1034000.ethernet eth0: [0]: couldn't create dsa switch instance (error -22)
[   14.290610] ieee80211 phy1: firmware version: 0x9030007
[   14.597591] ieee80211 phy1: firmware region code: 30
[   14.621311] ieee80211 phy1: 2G enabled, 5G disabled
[   14.626223] ieee80211 phy1: 4 TX antennas, 4 RX antennas

[   14.631796] mvneta f1034000.ethernet eth0: [0]: could not detect attached switch
[   14.635610] mwlwifi 0000:01:00.0 mlan0: renamed from wlan0
[   14.644768] mvneta f1034000.ethernet eth0: [0]: couldn't create dsa switch instance (error -22)
[   14.671761] systemd-udevd[2340]: renamed network interface wlan0 to mlan0
[   14.679128] mwlwifi 0000:02:00.0 wlan0: renamed from wlan1
[   14.721761] systemd-udevd[2342]: renamed network interface wlan1 to wlan0

[*     ] A start job is running for LSB: Raise network interf...(7s / no limit)[   15.260623] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

[   15.272391] mvneta f1034000.ethernet eth0: [0]: could not detect attached switch
[   15.279832] mvneta f1034000.ethernet eth0: [0]: couldn't create dsa switch instance (error -22)
[   15.371642] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.380884] mvneta f1034000.ethernet eth0: [0]: could not detect attached switch
[   15.388335] mvneta f1034000.ethernet eth0: [0]: couldn't create dsa switch instance (error -22)

[**    ] A start job is running for LSB: Raise network interf...(7s / no limit)[   15.491635] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[  OK  ] Started LSB: Raise network interfaces..
         Starting ifup for wlan0...
[  OK  ] Started ifup for wlan0.
         Starting ifup for eth0...
[  OK  ] Started ifup for eth0.
         Starting ifup for eth1...

[   15.672744] mvneta f1034000.ethernet eth0: [0]: could not detect attached switch
[   15.680192] mvneta f1034000.ethernet eth0: [0]: couldn't create dsa switch instance (error -22)

[  OK  ] Started ifup for eth1.
[  OK  ] Reached target Network.
[  OK  ] Reached target Network is Online.
[   15.771641] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
         Starting LSB: RPC portmapper replacement...
[   15.803039] ip_tables: (C) 2000-2006 Netfilter Core Team
[   15.976745] nf_conntrack version 0.5.0 (8192 buckets, 32768 max)
[  OK  ] Started LSB: RPC portmapper replacement.
[  OK  ] Reached target RPC Port Mapper.
         Starting LSB: NFS support files common to client and server...
[   16.471244] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[  OK  ] Started LSB: NFS support files common to client and server.
[  OK  ] Reached target System Initialization.
[   16.561638] mvneta f1070000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Timers.
[  OK  ] Reached target Basic System.
         Starting Initialize hardware monitoring sensors...
         Starting OpenBSD Secure Shell server...
[  OK  ] Started OpenBSD Secure Shell server.
         Starting BIND Domain Name Server...
[   16.801608] mvneta f1034000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[   16.809483] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  OK  ] Started BIND Domain Name Server.
[  OK  ] Reached target Host and Network Name Lookups.
         Starting OpenVPN service...
[   16.960497] tun: Universal TUN/TAP device driver, 1.6
[   16.965613] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>

[   16.974644] wlan1: renamed from tap0
         Starting Restore /etc/resolv.conf if the system cras...s shut down....

[   16.991905] systemd-udevd[2338]: renamed network interface tap0 to wlan1

         Starting Dibbler Client...
[  OK  ] Started Dibbler Client.
         Starting Network Name Resolution...
         Starting Network UPS Tools - power device driver controller...
         Starting Regular background program processing daemon...
[  OK  ] Started Regular background program processing daemon.
         Starting /etc/rc.local Compatibility...
         Starting Login Service...
         Starting LSB: Advanced IEEE 802.11 management daemon...
         Starting LSB: start Samba NetBIOS nameserver (nmbd)...
         Starting LSB: Kernel NFS server support...
         Starting LSB: Start NTP daemon...
         Starting LSB: DHCP server...
         Starting LSB: daemon to balance interrupts for SMP systems...
         Starting LSB: start Samba daemons for the AD DC...
         Starting LSB: start DirMngr daemon...
         Starting D-Bus System Message Bus...
[  OK  ] Started D-Bus System Message Bus.
[   17.652100] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[   17.660995] NFSD: starting 90-second grace period (net c0a37900)
         Starting Permit User Sessions...
[  OK  ] Started Network Name Resolution.
[  OK  ] Started OpenVPN service.
[  OK  ] Started Restore /etc/resolv.conf if the system crash...was shut down..
[FAILED] Failed to start Network UPS Tools - power device driver controller.
See 'systemctl status nut-driver.service' for details.
[DEPEND] Dependency failed for Network UPS Tools - power devi...rmation server.
[  OK  ] Started /etc/rc.local Compatibility.
[  OK  ] Started LSB: Advanced IEEE 802.11 management daemon.
[  OK  ] Started LSB: Kernel NFS server support.
[  OK  ] Started LSB: Start NTP daemon.
[  OK  ] Started LSB: daemon to balance interrupts for SMP systems.
[  OK  ] Started LSB: start DirMngr daemon.
[  OK  ] Started Permit User Sessions.
[  OK  ] Started Initialize hardware monitoring sensors.
[  OK  ] Started Login Service.
         Expecting device sys-subsystem-net-devices-wlan1.device...
         Starting Getty on tty1...
[  OK  ] Started Getty on tty1.
         Starting Serial Getty on ttyS0...
[  OK  ] Started Serial Getty on ttyS0.
[  OK  ] Reached target Login Prompts.
         Starting Network UPS Tools - power device monitor an...n controller...
[FAILED] Failed to start Network UPS Tools - power device mon...own controller.
See 'systemctl status nut-monitor.service' for details.
[  OK  ] Started LSB: start Samba daemons for the AD DC.
[  OK  ] Started LSB: start Samba NetBIOS nameserver (nmbd).
         Starting LSB: start Samba SMB/CIFS daemon (smbd)...
[  OK  ] Started LSB: start Samba SMB/CIFS daemon (smbd).
[FAILED] Failed to start LSB: DHCP server.
See 'systemctl status isc-dhcp-server.service' for details.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Started Update UTMP about System Runlevel Changes.

Seems like eth0 is up and semi working, I have connection towards the ISP (DHCP works). But eth1 (LAN) and WLAN0 + WLAN1 are dead...

I tried this:

If you see the wlan interface renamed in the journalctl then run the below commands. rm /etc/udev/rules.d/70-persistent-net.rules reboot

But after boot up it had recreated the same file with the same settings:

SUBSYSTEM=="net", ATTR{ifindex}=="2", NAME="eth0"
SUBSYSTEM=="net", ATTR{ifindex}=="3", NAME="eth1"
SUBSYSTEM=="net", ATTR{ifindex}=="5", NAME="wlan0"
SUBSYSTEM=="net", ATTR{ifindex}=="6", NAME="wlan1"
SUBSYSTEM=="net", ATTR{ifindex}=="4", NAME="mlan0"

Any ideas are very welcome! :sweat:

Redferne commented 7 years ago

Guys! Thanks for all the help :+1: Can you please give me a pointer on how to fix the interface issues above? Should I disable DSA for the switch or is there some other configuration I need to change? :duck:

jbsky commented 7 years ago

Check the /etc/network/interfaces file : interfaces.txt Undo the line you need with the help of the command "ip a" and comment the one you don't need between the two lines: bridge_ports eth0 eth1 <= NO DSA bridge_ports internet lan1 lan2 lan3 lan4 eth1 <= DSA

For hostapd, report the interfaces and bridge in the configuration file.

ValCher1961 commented 7 years ago

I think we should check to see if the service starts. Https://github.com/Chadster766/McDebian/blob/master/rootfs/etc/systemd/system/udev-network-interface-rules.service But I'm not sure.

jbsky commented 7 years ago

@ValCher1961 This is not impacting, the most important thing is to check the bridge using the brctl command. @Redferne I think my file won't match yours. In the state after analysis of your boot log, the DSA doesn't work, I think you can disable it in /etc/modules or /etc/modprobe. d/* for a cleaner boot.

Do you know anything about debian?

Redferne commented 7 years ago

Happy days! :smile: Finally got the interfaces in order!

1) Blacklisted mwifiex_sdio and dsa_core

2) Changed /etc/network/interfaces:

source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
allow-hotplug wlan0
iface wlan0 inet manual
allow-hotplug wlan1
iface wlan1 inet manual
allow-hotplug eth0 eth1

iface eth0 inet dhcp
    pre-up /etc/dibbler/mcdebian-set-mac
    pre-up iptables-restore < /etc/iptables.up.rules
    pre-up ip6tables-restore < /etc/ip6tables.up.rules

auto br0
iface br0 inet static
    bridge_ports eth1 wlan1 wlan0
    address 192.168.0.1
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255

3) Disabled the udev-network-interface-rules.server service 4) Edited /etc/udev/rules.d/70-persistent-net.rules:

SUBSYSTEM=="net", ATTR{ifindex}=="3", NAME="eth0"
SUBSYSTEM=="net", ATTR{ifindex}=="2", NAME="eth1"
# PCI device 0x11ab:0x2b40 (mwlwifi)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="60:xx:e0:bc:xx:11", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan1"
# PCI device 0x11ab:0x2b40 (mwlwifi)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="60:xx:e0:bc:xx:12", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"

Switch/Bridge:

root@wayout:systemd# brctl show
bridge name bridge id       STP enabled interfaces
br0     8000.60xxe0bcxx10   no      eth1
                            wlan0
                            wlan1

Thank you for the pointers, now I can finally build any kernel modules I need for this baby! :rocket:

Chadster766 commented 7 years ago

That is the point :smiley:

Chadster766 commented 7 years ago

Good job!

Chadster766 commented 6 years ago

@Redferne how did this workout? Did the WRT3200ACM perform well as a NAS with your JBOD RAID?

Redferne commented 6 years ago

Sure works great. But I cannot comment on performance since I'm just using a bunch of old 2.5" drives for temporary storage. I just swap them out as they begin to fail. Have a heap of them salvaged from scrapped notebooks 🤣