Check the build_openwrt.sh script, run and it will do everything, unless some bug appears. After that, build_wave300, then build_hostapd. I got the same OS.
Yeah, you're right, something went wrong, I started over (actually on another Bionic machine for no specific reason) and I come into ncurses menues without any "disturbance" now.
But now I see that ATH79 is configured as target architecture, I would have expected this to be Lantiq ?
Still getting the lib dep warnings (see below):
/Tomas
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist
WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist
WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a build dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist
WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist
WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a build dependency on 'libpam', which does not exist
build_openwrt went through (with above warnings), but build_wave300 not.
checking for target kernel package... /home/eddtomu/openwrt/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/linux-4.14.221
checking for target kernel compiler... configure: error: Target kernel compiler not found
Makefile:102: recipe for target '.config.h' failed
make: *** [.config.h] Error 1
ERROR: no .config file found!
Run make xconfig or make menuconfig first to generate .config file!
speaker-test 1.1.3
Playback device is default
Stream parameters are 48000Hz, S16_LE, 1 channels
Sine wave rate is 250,0000Hz
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 192 to 2097152
Period size range from 64 to 699051
Using max buffer size 2097152
Periods = 4
was set period_size = 524288
was set buffer_size = 2097152
0 - Front Left
Time per period = 10,939857
***** after placing firmware files at /lib/firmware
***** copy and insmod in your router the following files:
ls: cannot access '/home/eddtomu/wave300/builds/ugw5.4-vrx288/binaries/wls/driver/*.ko': No such file or directory
i got rid of the missing .config by calling the script from wave300 directory, but the other error hints me, I'm lacking the crosscompiler, right ?
Yes, it's not ATH, the code: (build_openwrt)
if [[ $branch > "v19.07.0" ]] || [[ $branch == "v19.07.0" ]]
then
wget https://downloads.openwrt.org/releases/${branch:1}/targets/lantiq/xrx200/config.buildinfo -O .config
else
if [[ $branch < "v18.06.4" ]] || [[ $branch == "v18.06.4" ]]
then
wget https://downloads.openwrt.org/releases/${branch:1}/targets/lantiq/xrx200/config.seed -O .config
else
wget https://downloads.openwrt.org/releases/18.06.4/targets/lantiq/xrx200/config.seed -O .config
fi
fi
Should download the official configuration for the wave300 routers, it compiles all of them. You can set for only your router, but I believe that doing it, changes the opkg magic check.
If the official config are set, the openwrt make menuconfig, will display the lantiq architecture.
I got some warning too, I think they are the same.
Good luck
Apparently my problems already start during building of openwrt, mkhash can't be built, need to investigate why.
[EDIT: fixed that by building mkhash manually, I have absolutely no clue, why I wouldn't build automatically! Now it doesn't find the toolchain for 24kc, I let run make from openwrt folder now once, maybe it resolves that.]
Maybe these lines:
sed -i "s/cross\/openwrt5/$(whoami)\/openwrt/" support/ugw.env.common
ln -s ~/wave300_rflib/wireless/driver/rflib/ wireless/driver/rflib
From build_openwrt were missing, this happens if you cloned my repo manually, I need to change this
in the meantime I can openwrt/build and wave300/scripts/build_openwrt in almost arbitrary order, while copying mkhash where it belonged, and finally, almost at random build_openwrt ran through now.
let me try build_wave300 now
Can you paste the error messages about the mkhash?
On the openwrt menuconfig, is the lantiq architecture showing by default? (meaning that the official config file was downloaded)
I updated the build_openwrt and build_wave300 scripts.
I did not tried the openwrt v21.02.0-rc1 yet, I am using v19.07.7
Good luck
targs,
i assume you have to make a multi-part image to flash?
is your bootloader like the one shown here?:
if so, can you share any insight as to how you made the flash file?
there seems to be a lot of things you have to make i assume all grx350 users have to use the same kind of stuff.
Not sure if I understand correctly,
In my case, the first flash was with putty serial and tftp.
Recovery via http is not available, some routers of TP-Link claim to have this.
Looks like it is an old version with not much options compiled of u-boot. It would be nice to update the u-boot, but I am afraid of bricking the device.
yes, he says this device does not have recovery mode either, surprisingly!
he held the resetbutton down and it does not enter the u-boot recovery mode (that we're used to).
looks like a very similar u-boot.
i am hoping to create a firmware that does not need a serial+tftp for first flash.
i understand how that can be done ("direct method"), but i would rather copy the firmware layout and flash it that way because my friend says this was the hardest device he has ever had to open. he says the case is so tight that asking end-users to open it is asking for the bezel to break.
i am very curious as to why this u-boot is so old and appears to be very messy. updating it must not be very easy, i guess... but it's extremely poor.
this is another reason i want to create a firmware my friend can flash from stock, because people need to care about the platform if we want a better u-boot.
thank you so much for the link, though. it gives me comfort that others have seen my friend's nightmare.
I am not sure, but I think I saw something about that the image should be signed by TP-Link in order to the stock firmware accept it.
And something else about v3 header, maybe this has nothing to do with that.
Edit:
Are we getting off topic?
Maybe a moderator can move this and the last messages
see below about mkhash. As I wrote, I can build it manually and place it to the correct location, but eventually it will be removed again.
openwrt directory found, skiping downloads (apt install, git colone, 1000-xrx200-pcie-msi-fix.patch)
Disclaimer: this is provided without warranties,
double check everything, use at your own risk !
-> After you choose the branch:
feeds and patches will be installed and
menuconfig will open with target=lantiq and subtarget=XRX200.
-> Optionally select your router(target profile) and other packages you like,
this may(needs to investigate) change opkg magic hash, wich prevents
installation of some package from official repositories.
-> Save and exit.
Then (make download and compile) will be executed, this takes a while,
a sound test may play when it finishes.
* (HEAD detached at v17.01.0-rc1)
master
1) reboot 10) v17.01.6 19) v18.06.5 28) v19.07.2
2) v17.01.0 11) v17.01.7 20) v18.06.6 29) v19.07.3
3) v17.01.0-rc1 12) v18.06.0 21) v18.06.7 30) v19.07.4
4) v17.01.0-rc2 13) v18.06.0-rc1 22) v18.06.8 31) v19.07.5
5) v17.01.1 14) v18.06.0-rc2 23) v18.06.9 32) v19.07.6
6) v17.01.2 15) v18.06.1 24) v19.07.0 33) v19.07.7
7) v17.01.3 16) v18.06.2 25) v19.07.0-rc1 34) v21.02.0-rc1
8) v17.01.4 17) v18.06.3 26) v19.07.0-rc2
9) v17.01.5 18) v18.06.4 27) v19.07.1
#? 33
cleaning ...
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'proper-umask'... ok.
Checking 'gcc'... ok.
Checking 'working-gcc'... ok.
Checking 'g++'... ok.
Checking 'working-g++'... ok.
Checking 'ncurses'... ok.
Checking 'zlib'... ok.
Checking 'perl-thread-queue'... ok.
Checking 'tar'... ok.
Checking 'find'... ok.
Checking 'bash'... ok.
Checking 'patch'... ok.
Checking 'diff'... ok.
Checking 'cp'... ok.
Checking 'seq'... ok.
Checking 'awk'... ok.
Checking 'grep'... ok.
Checking 'getopt'... ok.
Checking 'stat'... ok.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'wget'... ok.
Checking 'perl'... ok.
Checking 'python'... ok.
Checking 'git'... ok.
Checking 'file'... ok.
/home/eddtomu/openwrt/include/prereq-build.mk:155: recipe for target '/home/eddtomu/openwrt/staging_dir/host/bin/mkhash' failed
Prerequisite check failed. Use FORCE=1 to override.
...
another problem is that I don't have the toolchain automatically, I run make on openwrt, I'll receive 7.5 toolchain instead of openwrt/staging_dir/toolchain-mips_24kc_gcc-7.3.0_musl, but even if I soflink one to another it get's removed, I think by build_openwrt.sh script - maybe implicity.
I made some changes to the scripts, to make them compatible to my directory structure as I had it, and I think it may be helpful to some folks.
Maybe you can incorporate the changes as you see fit. Openwrt script was not required by me so I left it as is for now.
Some info is missing
9) v17.01.5 18) v18.06.4 27) v19.07.1
#? 33
cleaning ...
WARNING: Makefile 'package/feeds/packages/ksmbd/Makefile' has a dependency on 'kmod-crypto-arc4', which does not exist
make[1] dirclean
HEAD is now at d5ae565873 OpenWrt v19.07.7: adjust config defaults
HEAD is now at d5ae565873 OpenWrt v19.07.7: adjust config defaults
* (HEAD detached at v19.07.7)
master
Updating feed 'packages' from 'https://git.openwrt.org/feed/packages.git^90af10d01579425369bd474051b6d3ddaf32a7e3' ...
Create index file './feeds/packages.index'
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'proper-umask'... ok.
Checking 'gcc'... ok.
Do the following commands execute:
git reset --hard #
echo " configuring branch $branch ...."
git checkout $branch
git branch
echo " updating feeds ...."
./scripts/feeds update -a
./scripts/feeds install -a
./scripts/feeds install libnl
I am unable to open, can you post in your repo?
How is your progress with the driver?
I have updated the links to show the pastes in raw format so they should just open fine. I dont have time for GitHub upload at the moment, will do so once I can.
I dont have the WAVE300 device with me at the moment but will have the device with me in a day so then I can test the driver on it. So far the driver builds just fine for v19.07.7 along with the hostapd. If everything works well then it should be a good news.
[Update]
I have stumbled upon the following error and I have no idea which packages to install now. Although I have loaded the wave300 driver to the router and WiFi is enabled without crashing the device. To configure hostapd and WiFi configuration I need help with following.
Error loading shared library libssl.so.1.1: No such file or directory (needed by ./mtlk-ap)
Error loading shared library libcrypto.so.1.1: No such file or directory (needed by ./mtlk-ap)
Where exactly is the error happening?
The error was happening when I did ./mtlk-ap config.conf
so I dug around opkg
and found libopenssl
and installed it. The error went away but then there were errors in config.conf
because in the device I already have a wlan0
WiFi and the WAVE300 was lighting up as wlan1
.
Well now the driver is working... (without encryption because I only set it up with mtlk-ap once and it would not exit the script so I Ctrl-C 'd it and after that I just bridged wlan1 to LAN and it started without encryption, no questions asked) and with internet/IP access.
Here is an initial attempt at iperf3, with above in mind:
ahmar@ahmar-HP-15:~$ iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[ 5] local 192.168.1.135 port 51910 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 908 KBytes 7.44 Mbits/sec 26 90.5 KBytes
[ 5] 1.00-2.00 sec 1.18 MBytes 9.91 Mbits/sec 0 107 KBytes
[ 5] 2.00-3.00 sec 891 KBytes 7.30 Mbits/sec 0 115 KBytes
[ 5] 3.00-4.00 sec 1.12 MBytes 9.38 Mbits/sec 0 116 KBytes
[ 5] 4.00-5.00 sec 1.18 MBytes 9.90 Mbits/sec 0 116 KBytes
[ 5] 5.00-6.00 sec 1.12 MBytes 9.38 Mbits/sec 0 117 KBytes
[ 5] 6.00-7.00 sec 1018 KBytes 8.34 Mbits/sec 0 124 KBytes
[ 5] 7.00-8.00 sec 1.43 MBytes 12.0 Mbits/sec 0 137 KBytes
[ 5] 8.00-9.00 sec 1.43 MBytes 12.0 Mbits/sec 0 163 KBytes
[ 5] 9.00-10.00 sec 1.68 MBytes 14.1 Mbits/sec 0 201 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 11.9 MBytes 9.97 Mbits/sec 26 sender
[ 5] 0.00-10.12 sec 11.1 MBytes 9.18 Mbits/sec receiver
iperf Done.
ahmar@ahmar-HP-15:~$ iperf3 -c 192.168.1.1 -R
Connecting to host 192.168.1.1, port 5201
Reverse mode, remote host 192.168.1.1 is sending
[ 5] local 192.168.1.135 port 51914 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 28.3 KBytes 232 Kbits/sec
[ 5] 1.00-2.00 sec 28.3 KBytes 232 Kbits/sec
[ 5] 2.00-3.00 sec 25.5 KBytes 209 Kbits/sec
[ 5] 3.00-4.00 sec 28.3 KBytes 232 Kbits/sec
[ 5] 4.00-5.00 sec 28.3 KBytes 232 Kbits/sec
[ 5] 5.00-6.00 sec 25.5 KBytes 208 Kbits/sec
[ 5] 6.00-7.00 sec 28.3 KBytes 232 Kbits/sec
[ 5] 7.00-8.00 sec 28.3 KBytes 232 Kbits/sec
[ 5] 8.00-9.00 sec 25.5 KBytes 209 Kbits/sec
[ 5] 9.00-10.00 sec 28.3 KBytes 232 Kbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.08 sec 300 KBytes 244 Kbits/sec 0 sender
[ 5] 0.00-10.00 sec 274 KBytes 225 Kbits/sec receiver
iperf Done.
I think mtlk
driver used to show up here as well but now it's not:
root@OpenWrt:/mtlk# cat /proc/interrupts
CPU0 CPU1
7: 1066571 1068052 MIPS 7 timer
8: 7863 26912 MIPS 0 IPI call
9: 53201 115165 MIPS 1 IPI resched
22: 154750 0 icu 22 spi_rx
23: 15729 0 icu 23 spi_tx
24: 0 0 icu 24 spi_err
62: 0 0 icu 62 1e101000.usb, dwc2_hsotg:usb1
63: 44496 0 icu 63 mei_cpe
72: 0 0 icu 72 vrx200_rx
73: 0 0 icu 73 vrx200_tx
75: 0 0 icu 75 vrx200_tx_2
91: 14280 0 icu 91 1e106000.usb, dwc2_hsotg:usb2
112: 16521 0 icu 112 asc_tx
113: 5109 0 icu 113 asc_rx
114: 0 0 icu 114 asc_err
126: 0 0 icu 126 gptu
127: 0 0 icu 127 gptu
128: 0 0 icu 128 gptu
129: 0 0 icu 129 gptu
130: 0 0 icu 130 gptu
131: 0 0 icu 131 gptu
144: 680534 0 icu 144 ath9k
161: 0 0 icu 161 ifx_pcie_rc0
ERR: 0
Speed test on a 6/1 DSL line through WAVE300 (I am not sure why iperf3 download does not perform well):