KuskoSoft / FeitCSI

GNU General Public License v3.0
10 stars 1 forks source link

Fail to install FeitCSI-iwlwifi in either ways #1

Closed Precious1101 closed 5 months ago

Precious1101 commented 6 months ago

Hi @KuskoSoft , thanks for the excellent work. My Linux OS is Ubuntu 22.04.4LTS (desktop-amd64), installed on real hardware. Just newly installed.

$ uname -r 6.5.0-28-generic

When I install from source: make_fail

Then I turn to install with .deb package: I put .deb file in /home/(user)/feitcsi-iwlwifi_1.1.0_all.deb but got dpkg error and (13: Permission denied): _apt_fail

so I put .deb file to /tmp/feitcsi-iwlwifi_1.1.0_all.deb but the dpkg error still exists: deb_fail I tried

$ sudo apt-get -f install ./feitcsi-iwlwifi_1.1.0_all.deb

as well as

$ sudo dpkg -i /tmp/feitcsi-iwlwifi_1.1.0_all.deb

both return the same dpkg error. force overwrite also failed.

Screenshot from 2024-04-19 17-23-30 Screenshot from 2024-04-19 18-47-43 Seems I encountered the same problem as install from source.

I retried on Ubuntu 20.04.6 and Ubuntu 23.10.1, unfortunately same thing happened.

What's wrong with my installation? Thanks for your reply!

KuskoSoft commented 6 months ago

Hello @Precious1101 , based on first screenshot after command make defconfig-iwlwifi-public you get lex: no such file or directory. It seems that flex is dependency for make configuration file. Install it with sudo apt install flex and then installation from source should work and also .deb.

Regards to installation from .deb package and force overwrite, I have to fix it to not install these files if already exist.

So try to install flex and the feitcsi. Let me then know if all works. Thank you.

Precious1101 commented 6 months ago

Hi @KuskoSoft , sudo apt install flex solves lex: no such file or directory but next comes yacc: no such file or directory so sudo apt install yacc. Then another error happend: Screenshot from 2024-04-20 23-46-48 Screenshot from 2024-04-21 00-01-59 Screenshot from 2024-04-21 00-00-10 install from .deb failed either, and yielded the same content as above in /var/lib/dkms/feitcsi-iwlwifi/1.1.0/build/make.log Seems like a header file not included?

KuskoSoft commented 6 months ago

I install 22.04.4LTS and tried to reproduce your problem but everything works for me. I just install sudo apt install flex bison (lex, yacc problems).

feitcsi-defconfig

If you didn't tried before, delete feitcsi, clone again and remove also .debs (sudo apt purge feitcsi*) and tried to again. There is problem with generating config file and I really don't know where. I didn't encountered with this problem before and I installed on multiple devices and different architectures.

Precious1101 commented 6 months ago

Hi @KuskoSoft . Thanks for the advice, now it works! Two more things (happen on Ubuntu 23.10.1, 6.5.0-28-generic, and on Ubuntu 22.04.4, 6.5.0-28-generic):

  1. When I measure from GUI (by the way sudo apt install gnuplot to enable GUI and --plot), the maximum receiving rate is often less than 40 packets/second when at another PC --inject-delay is much smaller than 25ms, such as 10ms. But when I measure from command line, --plot shows a much faster update that looks consistent with the injection rate.
  2. The highest frequency it can reach is 5825MHz, any value higher than it returns either kernel reports: Channel is disabled (newline) : iostream error(such as 6025MHz) or command failed: Input/output error-5 (newline) : iostream error(such as 6015MHz). But Ax210 should have access to 6GHz.

These two happen on both my PC and laptop.

  1. On Ubuntu 22.04.4, when measure with command line returns Segmentation fault, but inject with command line is normal, measure and inject with GUI is normal. Screenshot from 2024-04-21 20-37-08 But this doesn't happen to Ubuntu 23.10.1 I remember a warning on 22.04.4: Screenshot from 2024-04-21 20-52-31 and the warning on 23.10.1: Screenshot from 2024-04-21 20-53-03

Do you have any idea?

KuskoSoft commented 6 months ago

Hello @Precious1101, can you give me output of sudo dmesg | grep "iwlwifi-"? Looking for line:

image

to know which firmware iwlwifi loading, then I will try to examine problem with channels and look closer to gnuplot. Regards to compiler warning, because iwlwifi is kernel module it should be compiled with the same compiler. But I think if it compiled properly and kernel load the module everything is ok. Thank you

Precious1101 commented 6 months ago

Sure @KuskoSoft , on 22.04.4:

nats@nats-pc: ~ $ sudo dmesg | grep "iwlwifi-" (returns nothing) nats@nats-pc: ~ $ sudo dmesg | grep "iwlwifi" (totaling 22 lines) [ 10.406752] Loading modules backported from iwlwifi [ 10.406754] FeitCSI-iwlwifi 1.1.0 ... [ 14.399967] iwlwifi 0000:04:00.0: loaded firmware version 86.fb5c9aeb.0 ty-a0-gf-a0-86.ucode op_mode iwlmvm ... ([ xx.xxxxxx] iwlwifi 0000:04:00.0: ... ) ...

on 23.10.1:

redr@redr-lp:~$ sudo dmesg | grep "iwlwifi" [ 6.551149] Loading modules backported from iwlwifi [ 6.551155] FeitCSI-iwlwifi 1.1.0 ... [ x.xxxxxx] iwlwifi 0000:2b:00.0: ... ... [ 8.946781] iwlwifi 0000:2b:00.0: loaded firmware version 86.fb5c9aeb.0 ty-a0-gf-a0-86.ucode op_mode iwlmvm [ xx.xxxxxx] iwlwifi 0000:2b:00.0: ... ... (above totaling 2+34 lines) ... (totaling 37 long paragraphs of [xxxx.xxxxxx] Modules linked in: ...) ... ... (below totaling 44 lines) [ xxxx.xxxxxx] iwlwifi 0000:2b:00.0: ... ...

KuskoSoft commented 6 months ago

Hi @KuskoSoft . Thanks for the advice, now it works! Two more things (happen on Ubuntu 23.10.1, 6.5.0-28-generic, and on Ubuntu 22.04.4, 6.5.0-28-generic):

1. When I measure from GUI (by the way `sudo apt install gnuplot` to enable GUI and --plot), the maximum receiving rate is often less than 40 packets/second when at another PC --inject-delay is much smaller than 25ms, such as 10ms.
   But when I measure from command line, --plot shows a much faster update that looks consistent with the injection rate.

2. The highest frequency it can reach is 5825MHz, any value higher than it returns either `kernel reports: Channel is disabled (newline) : iostream error`(such as 6025MHz) or `command failed: Input/output error-5  (newline) : iostream error`(such as 6015MHz).
   But Ax210 should have access to 6GHz.

These two happen on both my PC and laptop.

3. On Ubuntu 22.04.4, when measure with command line returns `Segmentation fault`, but inject with command line is normal, measure and inject with GUI is normal.
   ![Screenshot from 2024-04-21 20-37-08](https://private-user-images.githubusercontent.com/65907461/324247727-816d56cd-3bbc-46e1-9947-4c09f6d654bd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTM3ODYyNTgsIm5iZiI6MTcxMzc4NTk1OCwicGF0aCI6Ii82NTkwNzQ2MS8zMjQyNDc3MjctODE2ZDU2Y2QtM2JiYy00NmUxLTk5NDctNGMwOWY2ZDY1NGJkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDIyVDExMzkxOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWMzNjhmZDMxNzRiZWIzZjcwM2YyY2Y2NmI2Yzg2ZWFjMTA0MGJjMzgwMzUzM2VkZTYwNTFlOTVjYWZlNmI3MmYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.UdTSdA_Km794KuglQFL3QbHp0zsCfGt2upxDLczEv1w)
   But this doesn't happen to Ubuntu 23.10.1
   I remember a warning on 22.04.4:
   ![Screenshot from 2024-04-21 20-52-31](https://private-user-images.githubusercontent.com/65907461/324248650-dd411d8e-9362-43dd-8df6-64a8e34abdc7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTM3ODYyNTgsIm5iZiI6MTcxMzc4NTk1OCwicGF0aCI6Ii82NTkwNzQ2MS8zMjQyNDg2NTAtZGQ0MTFkOGUtOTM2Mi00M2RkLThkZjYtNjRhOGUzNGFiZGM3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDIyVDExMzkxOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTZmNDExZWNlNDFjY2FjZWFiMmJkNGFmNTdlYjM3Yzc5NjAyYTc2OTE4MTU4MTZkYjQ1ZjI3ZGFmNmQ3MGI5NGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0._25AZHQaJV5O_CxGTbCqEmnm2jL0h2goFmvhG9AQNuk)
   and the warning on 23.10.1:
   ![Screenshot from 2024-04-21 20-53-03](https://private-user-images.githubusercontent.com/65907461/324248761-1442e4fa-9f7f-44e3-b011-da50a9ff8b83.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTM3ODYyNTgsIm5iZiI6MTcxMzc4NTk1OCwicGF0aCI6Ii82NTkwNzQ2MS8zMjQyNDg3NjEtMTQ0MmU0ZmEtOWY3Zi00NGUzLWIwMTEtZGE1MGE5ZmY4YjgzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDIyVDExMzkxOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI0M2U4Yzk3NTA5OWVkNmExNzFmOWU0OWFmZmNhOTJiMGU3NmMxZWY2N2FiOWNlOWMwMTJkYWNkYWQwM2JlNDMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.IgrWhshBW7pZtnPcksIr0YAdJbSJuPyt231y_gKFtxA)

Do you have any idea?

Hello @Precious1101,

  1. This was caused by updating the plot which took some time and block receiving CSI packets. I fixed this by asynchronously updating the plot, so all packets are received now. The plot is not now refreshing on each packet but after finishing the previous render with actual CSI (but I think refresh rate of the plot is enough, important is to store all CSI packets). Fixed by the commit 2086412fbfba26cbcd42dd170ebd6b85ae857856
  2. I can't reproduce this problem. Maybe you just put bad combination of frequency and channel width. You have to set correct center frequency and channel width. Try for example sudo feitcsi --frequency 6035 --channel-width 40 --format HESU --output-file csi.dat -v which should work (I tested).
  3. As you wrote this happens only on some systems. I changed compiler optimization flag and it seems that it help. I was able to compile it and run also on Ubuntu 22.04.4. Fixed by the commit 9bb4fd74fa7b895848c0510adb054074644bac31

You will have to compile from source and if it will work I will regenerate deb packages. Please check it and let me know. Thank you!

Precious1101 commented 6 months ago

Hi @KuskoSoft , I update from source on my PC (Ubuntu 22.04.4) (new version FeitCSI), and laptop (Ubuntu 23.10.1) not updated (old version FeitCSI),

    • New version FeitCSI now receives (not --plot or --gui) all the packets consistent with inject rate (I tested --inject-delay 1ms HESU 160MHz). However, on both --plot and --gui, on 20MHz HT updates normally, but 160MHz HESU updates very, very slow (such as 1Hz).
    • Old version FeitCSI: receives packets at a non-fixed rate and not all packets received (besides, larger BW, fewer packets). But --plot updates very, very fast (even at 160MHz HESU --inject-delay 1ms) and --gui updates figures fast (not as fast as --plot but is fast enough, visually).
    • New FeitCSI makes tradeoff. I agree on the priority of receiving all packets. But I think there is still room for improvement (I tested on PicoScenes it can in time receive 160MHz packets and meanwhile --plot synchronously).
    • Btw, since new version FeitCSI can receive all packets, we should be able to real-time decode most packets and (we can customize our) real-time plot, by using Parsing scripts. So why cannot --plot real-time plot most packets?
  1. Without luck on my device, on new version FeitCSI. (but my device used to run PicoScenes, it has 6GHz accessibility, weird.) But a progress is that new version now returns the error message and exits automatically.
    • old version FeitCSI injects: Screenshot from 2024-04-23 22-35-58 Screenshot from 2024-04-23 22-46-24 Screenshot from 2024-04-23 22-51-57 new version FeitCSI measures: Screenshot from 2024-04-23 21-17-53
    • new version FeitCSI injects: Screenshot from 2024-04-23 22-27-12 old version FeitCSI measures: Screenshot from 2024-04-23 22-24-44
  2. (Ubuntu 22.04.4) New version FeitCSI now can measure with command line (except 6GHz, see 2.). Problem solved.
KuskoSoft commented 6 months ago

Hello @Precious1101 , sorry for late response but I am busy these days.

  1. The problem was how I handle gnuplot via pipes. Sending data was very slow especially with more CSI data. I tried to change it to make gnuplot load from a file but problem was flickering of the plot. So I looking for some public light library for GTK but I dont find any easy and lightweight. So in the end I decided to code simple line chart and draw it using cairo. So dependency on gnuplot is gone and plotting is now fast also with 160 MHz and HESU (should be equal to refresh rate of monitor).

  2. This is weird because there is no information about that channel is disabled. if I look correct in old version it works. There is no error. But driver version not change. Maybe something just went wrong.. Can you try clean install of FeitCSI? Then look sudo modinfo iwlmvm if version of iwlwifi is feitcsi and try again sudo feitcsi --frequency 6035 --channel-width 20 --format HESU --output-file csi.dat -v. If you will have still problem please give me output of sudo iw reg get.

Thank you for your patience!

Precious1101 commented 6 months ago

Hi @KuskoSoft, I sudo rm -r /usr/local/bin/feitcsi, sudo rm -r /home/(username)/FeitCSI, and reinstall FeitCSI from source. Here is the output: Screenshot from 2024-05-03 13-18-57

KuskoSoft commented 5 months ago

Hi @Precious1101 , output looks good. You wrote that you used 6GHz before just to be sure please check it again sudo lspci if you really have AX210.

Because FeitCSI fail to set 6GHz please try it with command iw. First check your devices sudo iw dev. If there is no monitor device add it sudo iw phy phy1 interface add mon0 type monitor with your phy device. Delete your previous device sudo iw dev wlan0 del, enable monitor device sudo ip link set mon0 up and then set frequency sudo iw dev mon0 set freq 6035 20. In the end check sudo iw dev and you should see frequency 6035 MHz. If command with set frequency fail probably is problem with hardware.

The last option which you can try is use FeitCSI ISO with virtual manager. If it also fail, my conclusion is that problem is in the hardware.

Precious1101 commented 5 months ago

Hi @KuskoSoft , seems the command with set frequency fails, this happens to my both devices.

$ sudo iw dev mon0 set freq 6035 20 command failed: Input/output error (-5)

Screenshot from 2024-05-09 18-23-07 Screenshot from 2024-05-09 18-22-21

KuskoSoft commented 5 months ago

Hello @Precious1101 , thank you for your response. So the problem have to be somewhere else. So let me know if you figure it out something. Thank you!

Btw this is output of my lspci. It shows Wi-Fi 6E, yours showing only Wi-Fi 6 what is weird. I think all AX210 support also 6E. image