installing an ipk package and incompatible with the architecture error



  • @crispyoz

    I did it but still there is nothing about chirpstack gateway bridge ! šŸ˜•



  • @optech Post your init script please, it will log whatever the script results are. Check the log again using:

    logread | grep -i chirpstack



  • I downloaded the file again from yandex drive and installed. Pls see below.

    Omega# # onion os version
    === Version Info ===
    Omega firmware: v0.3.3 b247
    onion-os - 1.0.6-1

    Omega# opkg install ./chirpstack-gateway-bridge_3.11.0_mipsel_24kc.ipk
    Installing chirpstack-gateway-bridge (3.11.0) to root...
    Configuring chirpstack-gateway-bridge.

    Omega# opkg files chirpstack-gateway-bridge
    Package chirpstack-gateway-bridge (3.11.0) is installed on root and has the following files:
    /etc/init.d/chirpstack-gateway-bridge
    /opt/chirpstack-gateway-bridge/LICENSE
    /opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge
    /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml
    /opt/chirpstack-gateway-bridge/README.md

    Omega# free
    total used free shared buffers cached
    Mem: 124784 56492 68292 72 5536 28884
    -/+ buffers/cache: 22072 102712

    Omega# /etc/init.d/chirpstack-gateway-bridge start
    Starting chirpstack-gateway-bridge

    Omega# free
    total used free shared buffers cached
    Mem: 124784 58644 66140 76 5536 28892
    -/+ buffers/cache: 24216 100568

    Omega# ps
    2092 root 658m S /opt/chirpstack-gateway-bridge/chirpstack-gateway-br

    Omega# logread
    Mon Feb 22 22:35:13 2021 user.info chirpstack-gateway-bridge[2092]: time="2021-02-22T22:35:13.255502795Z" level=info msg
    ="starting ChirpStack Gateway Bridge" docs="https://www.chirpstack.io/gateway-bridge/" version=3.11.0
    Mon Feb 22 22:35:13 2021 user.info chirpstack-gateway-bridge[2092]: time="2021-02-22T22:35:13.257726475Z" level=info msg
    ="backend/semtechudp: starting gateway udp listener" addr="0.0.0.0:1700"
    Mon Feb 22 22:35:13 2021 user.warn chirpstack-gateway-bridge[2092]: time="2021-02-22T22:35:13.268847616Z" level=warning
    msg="[store] memorystore wiped" module=mqtt
    Mon Feb 22 22:35:13 2021 user.info chirpstack-gateway-bridge[2092]: time="2021-02-22T22:35:13.269861713Z" level=info msg
    ="integration/mqtt: connected to mqtt broker"

    Omega# netstat -atunp
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN 1610/mosquitto
    tcp 0 0 127.0.0.1:51116 127.0.0.1:1883 ESTABLISHED 2092/chirpstack-gat
    tcp 0 0 127.0.0.1:1883 127.0.0.1:51116 ESTABLISHED 1610/mosquitto
    tcp 0 0 :::9001 :::* LISTEN 1610/mosquitto
    udp 0 0 :::1700 :::* 2092/chirpstack-gat

    Omega# /etc/init.d/chirpstack-gateway-bridge stop
    Stopping chirpstack-gateway-bridge
    stopped process in pidfile '/var/run/chirpstack-gateway-bridge.pid' (pid 2092)

    Omega# netstat -atunp
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN 1610/mosquitto
    tcp 0 0 127.0.0.1:1883 127.0.0.1:51116 TIME_WAIT -
    tcp 0 0 :::9001 :::* LISTEN 1610/mosquitto



  • @tjoseph1

    root@OpenWrt:/# opkg files chirpstack-gateway-bridge
    Package chirpstack-gateway-bridge (3.11.0) is installed on root and has the following files:
    /etc/init.d/chirpstack-gateway-bridge
    /opt/chirpstack-gateway-bridge/LICENSE
    /opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge
    /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml
    /opt/chirpstack-gateway-bridge/README.md
    root@OpenWrt:/# free
                  total        used        free      shared  buff/cache   available
    Mem:         124860       14664       96916         312       13280       79712
    Swap:             0           0           0
    root@OpenWrt:/# /etc/init.d/chirpstack-gateway-bridge start
    Starting chirpstack-gateway-bridge
    root@OpenWrt:/# free
                  total        used        free      shared  buff/cache   available
    Mem:         124860       14668       96912         312       13280       79708
    Swap:             0           0           0
    
    root@OpenWrt:/# ps | grep chirpstack
    2048 root      1212 S    grep chirpstack
    
    root@OpenWrt:/# logread | grep chirpstack
    root@OpenWrt:/#
    

    What could be the reason of this difference? what do you think? By the way, i loaded a custom build openwrt firmware 19.07.. Is that can be the reason?



  • @optech
    "a custom build openwrt firmware 19.07 ..Is that can be the reason"
    May be..

    You could flash the omega2 with onion build and try. I have provided my onion os version; any recent version should work.

    "/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge" is the only "arch dependent" (binary) file in the ipk.

    $ file build/chirpstack-gateway-bridge
    build/chirpstack-gateway-bridge: ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), statically linked, Go BuildID=0A8....

    You can also try running it from command prompt using the options that "/etc/init.d/chirpstack-gateway-bridge" script uses with "start" parameter.

    ("/etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml" contains the settings, it seems)

    Thank you.



  • @tjoseph1 thank you very much for your help.
    I loaded onion build firmware and tried it again then it works. šŸ™‚

    But it doesn't work on openwrt 19.07 custom build.. I really wonder what would be the reason of this issue?

    Here is the build which chirpstack gateway bridge doesnt work on..:
    https://drive.google.com/file/d/1i5PeBWMF-9kke3xLXnlwJIylrfxVHWhm/view?usp=sharing



  • @optech
    Can you pls replace the /opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge in your openwrt 19.07 with this file:
    https://disk.yandex.com/d/C_6-fmcDtqXIGA and then try running it?

    It is a zip file, that unzips to "chirpstack-gateway-bridge" exe.

    Thank you.



  • @tjoseph1 Thank you for your help. I was on a vacation sorry for late...

    I replaced "/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge" with the file that you sent. But result is same, dont work and so no ram change(on openwrt 19.07)..
    Do you have another idea to find the reason of this issue?



  • I recompiled chirpstack gateway bridge as following the steps below:

    export GOARCH=mipsle
    export GOOS=linux
    make build
    
    root@OpenWrt:~# file /opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge
    
    /opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge: ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), statically linked, Go BuildID=VcvuifmDnNysO-WpZUz5/FGFca5Lt5vpptRtlLTBo/l2QuqgekGwKVygyjsXAL/6lmuYGmDGU2RDGrxxamU, stripped
    

    The result is the same doesn't work on openwrt 19.07...



  • @optech
    Ok. Let us start simple.
    Are you able to cross-compile the "hello_world.go" and run it in the 19.07 Omega2 with GOARCH,GOOS parameters set as above ?

    package main
    import "fmt"
    func main() {
    fmt.Println("Hello, World!")
    }

    If not, you may want to try GOMIPS=softfloat or some other options in addition to those two. Once that thing prints \"Hello, World!\", try the same options to build chirpstack-gateway-bridge.

    Thanks.



  • @tjoseph1 Thank you again for your help.

    I compiled the hello world go app as following...:

    export GOARCH=mipsle
    export GOOS=linux
    export GOMIPS=softfloat
    go build hello.go
    

    if i dont use "GOMIPS=softfloat", it works on openWRT 18.06 but dont work on openWRT 19.07 as giving following error:

    root@OpenWrt:~# ./hello
    Illegal instruction
    

    with "GOMIPS=softfloat" option, it works on openWRT 19.07..

    But after seeing that, i compiled chirpstack-gateway-bridge app with same options. But it still doesnt work on openWRT 19.07 šŸ˜ž

    chirpstack-gateway-bridge$ export GOARCH=mipsle
    chirpstack-gateway-bridge$ export GOOS=linux
    chirpstack-gateway-bridge$ export GOMIPS=softfloat
    chirpstack-gateway-bridge$ make build
    

    i feel near to solution but i have no idea for now.



  • @optech by the way, i first setup the chirpstack-gateway-bridge ipk file which you sent before, then i replace the exe in opt/chirpstack-gateway-bridge with i compiled. then it didnt work on openwrt 19.07



  • @optech Have you checked that the make file is not redefining those exports?



  • This post is deleted!


  • @optech

    In the Makefile, the "build" option has parameters:
    <<<
    .PHONY: build clean test package serve run-compose-test
    VERSION := $(shell git describe --always |sed -e "s/^v//")

    build:
    @echo "Compiling source"
    @mkdir -p build
    GOOS=linux GOARCH=mipsle GOMIPS=softfloat go build $(GO_EXTRA_BUILD_ARGS) -ldflags "-s -w -X main.version=$(VERSION)" -o build/chirpstack-gateway-bridge cmd/chirpstack-gateway-bridge/main.go
    <<<

    Is that how you compile?

    Try running the "chirpstack .." exe from Omega2's command line with -h or --help option under stock 19.07.
    If that runs, then try running the exe under the custom build.

    Thanks.



  • @tjoseph1 @crispyoz

    When I check makefile i see:

    .PHONY: build clean test package serve run-compose-test
    VERSION := $(shell git describe --always |sed -e "s/^v//")
    
    build:
    	@echo "Compiling source"
    	@mkdir -p build
    	go build $(GO_EXTRA_BUILD_ARGS) -ldflags "-s -w -X main.version=$(VERSION)" -o build/chirpstack-gateway-bridge cmd/chirpstack-gateway-bridge/main.go
    

    so makefile has no redefining options for "GOOS=linux GOARCH=mipsle GOMIPS=softfloat".

    when i tried stock omega 19.07 binary, it was didnt work. but after you told me about softfloat option, i tried to change some options while custom compilation of openwrt by make menuconfig. I set softfloat by default from advanced compile options and i set MIPS FPU emulator enable. after making this custom binary for openwrt, even the first chirpstack-gateway-bridge exe, that you sent me before, works well in my custom openwrt compilation šŸ™‚ I guess this way is ok, right? can i will have side effects of it for future with another app? šŸ™‚ Thank you for your all support šŸ™‚

    But i couldnt find how i can make ipk file after chirpstack-gateway-bridge compilation.. Could you inform me about it how i make ipk packages?



  • @optech If you have set chirpstack in make menuconfig to M the ipk will be in <source>/staging_dir/packages/ramips

    I would be interested to know if transferring the package to your earlier 19 system gives you the same error as I suspect this may be an issue related to the included libs.



  • @crispyoz

    There is no chirpstack option in "make menuconfig" in openwrt, maybe i couldnt see šŸ™‚

    i think go lang uses mips float point but i guess there is no hardware fpu in MT7688, so instructions doesnt work when go compile with default GOMIPS option. Then when i make chances on make menuconfig about float point options while compiling custom openwrt, it will be ok even go uses float point option.. What do you think about this explanation?



  • i compiled chirpstack-packet-multiplexer application. But i couldnt make ipk file. So i duplicated chirpstack-gateway-bridge files on working system, then i replaced with chirpstack-packet-multiplexer files šŸ™‚ and edited init.d script šŸ™‚

    Could you inform me about how can i make ipk packages after compilation of an application?



  • @optech ok sorry I thought you had added the package to menuconfig and were compiling that way. I haven't been following closely as @tjoseph1 has been doing a lot to help out.

    Making an ipk is not well documented, well not that I found when I was trying to learn how to manually make them. So I made a script to create the ipk for my custom package I build outside of the build system. I need to clean out some proprietary stuff out of my script then I will post it here in a short time.



Looks like your connection to Community was lost, please wait while we try to reconnect.