billkenney / update_max3_plus3

9 stars 1 forks source link

Wifi Not working #6

Open chabad360 opened 2 weeks ago

chabad360 commented 2 weeks ago

After installing this image on the X-Max 3, the wifi module stops working (it seems that it no longer want to modeswitch, or rather the driver doesn't work correctly). If I allow armbian to update the firmware, the wifi module seems to modeswitch, but NetworkManager still doesn't see it. However, after the firmware update, ethernet also stops working, rendering the device inaccessible over the network, forcing me to connect over serial.

chabad360 commented 2 weeks ago

I had success following this guide. It seems that some other driver with the same name is already installed (but it has an invalid exec format error when loading), so just run dkms install aic8800/1.0.5 --force to install the correct driver and then you should be good.

If you can figure out a driver fix in your image that would be even better.

billkenney commented 2 weeks ago

I had success following this guide. It seems that some other driver with the same name is already installed (but it has an invalid exec format error when loading), so just run dkms install aic8800/1.0.5 --force to install the correct driver and then you should be good.

If you can figure out a driver fix in your image that would be even better.

did you install the image or follow the manual installation guide? I don't use wifi, but if you're having issues, you could try installing the drivers again (see below).

I do recall some weird issue about modeswitch from usb mode or something, I don't recall what I followed, but I do remember that my wifi dongle already had right setting, so the modeswitch didn't work. I had assumed others would also be in the right mode... if that's not the case, maybe you could modeswitch prior to installing the image and wifi would continue working

also, did you have to install the wpa-supplicant file in the guide you mentioned? if so, I could probably add that and the firmware to my image with instructions to edit it for your country, network, and password.

step 17 in the manual install guide: to get your wifi working again, run the following commands: sudo ln -s /usr/src/linux-headers-6.7.5-edge-rockchip64/arch/arm64 /usr/src/linux-headers-6.7.5-edge-rockchip64/arch/aarch64 ; sudo apt install make gcc build-essential git network-manager ; cd /home/mks ; git clone https://github.com/lwfinger/rtl8xxxu ; cd /home/mks/rtl8xxxu ; make clean modules ; sudo make install ; sudo make install_fw. Restart the printer, then: cd /home/mks/rtl8xxxu ; sudo modprobe rtl8xxxu_git. you can run sudo nmtui to use the network-manager service to create or manage network connections. if you get any errors, run cd /home/mks/rtl8xxxu ; make clean modules ; sudo make install ; sudo make install_fw, reboot, and run cd /home/mks/rtl8xxxu ; sudo modprobe rtl8xxxu_git again

maybe also run sudo lsusb and make sure your wifi dongle is the same model? I seriously doubt qidi would swap it out, but I guess it's possible

Screen Shot 2024-06-17 at 9 05 27 PM
chabad360 commented 2 weeks ago

I did the image install.

The wpa supplicant thing didn't help, because the wifi module was in storage mode. Your instructions for building drivers didn't help, because I don't have a realtek module, I have an AIC one. I had to rebuild the AIC8800 driver as the bundled one had an exec format error when running modprobe aic8800_fdrv.

billkenney commented 2 weeks ago

I did the image install.

The wpa supplicant thing didn't help, because the wifi module was in storage mode. Your instructions for building drivers didn't help, because I don't have a realtek module, I have an AIC one. I had to rebuild the AIC8800 driver as the bundled one had an exec format error when running modprobe aic8800_fdrv.

what does your wifi module show when you run sudo lsusb?

I'm surprised they switched to a different wifi dongle, although the Realtek one is pretty bad.

I'm testing @CChen616's image right now, and trying to integrate his image with my image. The printer.cfg setup is cleaner, and it has some cool macros like klippain-shaketune and spoolman, but I've also encountered some problems. Like the network tab on the screen does nothing, in fluidd Layer is either the same for every print (and wrong) or it has nothing, and I had the screen completely stopped working at one point.

If the drivers for the AIC wifi are not in this image, I'll add them and release a new image. Once I figure out the best system setup.

Thanks for the feedback, and I'm glad you were able to figure out what the problem was

chabad360 commented 2 weeks ago

what does your wifi module show when you run sudo lsusb?

Bus 002 Device 003: ID 2604:0013 Tenda AIC8800DC

I'm surprised they switched to a different wifi dongle, although the Realtek one is pretty bad.

This one is not any better.

Like the network tab on the screen does nothing,

It doesn't work for me on your image either.

I should note regarding the screen, someone on a discord is working on custom screen firmware (and seems to be pretty close to something working), so IDK how worth it, it is to focus on getting the screen working.

billkenney commented 2 weeks ago

Like the network tab on the screen does nothing,

It doesn't work for me on your image either.

In my image I was always able to go into the network menu, but when you clicked the WiFi icon it didn't work. In this one it doesn't even go into the network menu. But you're right, it's broken regardless of how you update. Although I will say that gcode images work sometimes, albeit very sporadically (I have no idea why they do or do not work).

I should note regarding the screen, someone on a discord is working on custom screen firmware (and seems to be pretty close to something working), so IDK how worth it, it is to focus on getting the screen working.

The screen is really the only thing preventing people from updating. It would be awesome if someone figured out a way to replace xindi. From what I understand, the program/source code used to compile xindi is all in Chinese, so some people have gotten access to it but they can't really use it because they don't read Chinese.

FYI @CHhen616 said he didn't include the AIC firmware in his image either, but the drivers were included on an update at some point. I had no idea there were other WiFi modules on these printers, thanks for letting me know! I'll add that to my repo, and if I release another image, I'll install that firmware so both are available.

chabad360 commented 2 weeks ago

I may have figured out how to get the wifi screen working. It seems your image doesn't name the wifi iface as wlan0 (thanks Persistent network interfaces), just adding extraargs=net.ifacenames=0 to /boot/armbianEnv.txt seems to fix that.

But in regards to making a connection, it's a bit more complicated, in the ui you can put in a password, but xindi seems to get stuck trying to connect. If I manually go into wpa_cli and add the connection and then restart xindi, then it works. However, NetworkManager seems to have a conflict with the makerbase-wlan0 service. This can be fixed by adding -u to the end of the command for that service (-u allows dbus communication, which NetworkManager needs). That still doesn't make the connection work tho. ~Not sure how that worked on the original image (I may need to swap emmc's)...~ It seems like it may have used dhclient to handle that. Which I'm able to supplement with dhcpcd and enabling dhcpcd@wlan0.service, which seems to solve that problem, but it doesn't add dns, which makes it not to usefull. Either way, that's enough for now, I need to take care of other things.

billkenney commented 2 weeks ago

adding extraargs=net.ifacenames=0 to /boot/armbianEnv.txt seems to fix that.

This didn't work for me. What did work was: sudo printf 'ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan0", NAME="wlan0"' > /etc/udev/rules.d/70-custom-names.rules ; udevadm control --reload-rules ; sudo reboot

But in regards to making a connection, it's a bit more complicated, in the ui you can put in a password, but xindi seems to get stuck trying to connect. If I manually go into wpa_cli and add the connection and then restart xindi, then it works. However, NetworkManager seems to have a conflict with the makerbase-wlan0 service. This can be fixed by adding -u to the end of the command for that service (-u allows dbus communication, which NetworkManager needs). That still doesn't make the connection work tho. ~Not sure how that worked on the original image (I may need to swap emmc's)...~ It seems like it may have used dhclient to handle that. Which I'm able to supplement with dhcpcd and enabling dhcpcd@wlan0.service, which seems to solve that problem, but it doesn't add dns, which makes it not to usefull. Either way, that's enough for now, I need to take care of other things.

I did all of this and the network menu on the screen looks like it's working, it sees the networks and lets you put in a password, but it freezes at connecting.

I did notice that my image has what looks to be aic drivers in /root/xinwangka/aic8800DC. Seems they were installed by the firmware update, but based on the fact that you opened this issue, it didn't work. image

I think maybe the drivers didn't work because they are in the wrong place. My manual install script requires you to create a link from /usr/lib/modules/5.16.20-rockchip64 --> /usr/lib/modules/6.7.5-edge-rockchip64. The firmware update apparently deleted that symlink, and installed the aic drivers in there.

chabad360 commented 2 weeks ago

This didn't work for me.

Oh, right. You also need to compile the boot.scr again.

sudo mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr