silicann / blickwerk-boot Goto Github PK
View Code? Open in Web Editor NEWlinux kernel and u-boot sources for blickwerk sensors
linux kernel and u-boot sources for blickwerk sensors
Currently GPIO 26 seems to be configured implicitly during kernel bootup (after u-boot). This results in a pull-up resistor being active.
Instead this pin is supposed to be used as a GPIO input. Its name could be something like analogwerk_spi_boot_busy
(or something similar related to the SPI interface currently available as /dev/spidev32766.0
).
There seems to be a problem with the sensor when it is connected to a TP-Link 1043NDv1 device.
The router sees a link from the device (indicated by its LEDs per port).
But no packets from the device (e.g. DHCP lease requests) are visible on the network.
The great cleanup in 8d3d3bd seems to affect the external RS232 interface (/dev/ttyAPP4
in production mode).
It looks like neither incoming nor outgoing data is transmitted anymore. I tested this via screen
on both sides.
It would be nice, if the sensors would emit at least a single packet during their early boot phase (u-boot), in order to announce their MAC address to the attached switch.
This would be useful for speeding up discovery (without waiting for the full boot process) via SNMP.
Additionally it would allow a robust approach for identifying sensors based on their MAC address even in case of a broken network setup.
I am not aware of a usual format for non-IP-based packets of this kind.
The patch file 0006-crypto-mxs-dcp-fix-the-probe-failure-for-sha1-sha256.patch looks like a generic change. Maybe it is useful for others? Sadly the committer did not comment, which specific problem the change tries to solve.
@dangowrt: what do you think?
Currently the DTS file does not refer to DMA in the UART configuration: https://github.com/silicann/blickwerk-boot/blob/master/configurations/linux/patches/0001-arm-dts-urwerk-dts-file-added.patch#L230
But it looks like imx28 should support DMA for UART: https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/imx28.dtsi#L1197
our builds are currently failing because openssl >= 1.1.0 introduced some changes to it’s API that are not compatible with uboot 2016.3. we should upgrade to a more recent u-boot version.
see: openssl/openssl#962 (comment)
relevant section from our build-log:
2018-08-14 18:36:55 (1,19 MB/s) - ‘/srv/build/workers/urwerk-default-amd64/linux-build/build/build/uboot-2016.03.tar.bz2’ saved [11076762]
[ "$(sha256sum "/srv/build/workers/urwerk-default-amd64/linux-build/build/build/uboot-2016.03.tar.bz2" | cut -d" " -f1)" = "e49337262ecac44dbdeac140f2c6ebd1eba345e0162b0464172e7f05583ed7bb" ]
mkdir -p "/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot"
tar xjf "/srv/build/workers/urwerk-default-amd64/linux-build/build/build/uboot-2016.03.tar.bz2" -C "/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot" --strip 1
mkdir -p "/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot-build/"
find "/srv/build/workers/urwerk-default-amd64/linux-build/build/configurations/u-boot/patches" -type f -name "*.patch" | sort | while read -r patch; do \
patch -d "/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot" -p1 <"$patch"; \
done
patching file board/silicann/urwerk/Kconfig
patching file board/silicann/urwerk/MAINTAINERS
patching file board/silicann/urwerk/Makefile
patching file board/silicann/urwerk/iomux.c
patching file board/silicann/urwerk/urwerk.c
patching file include/configs/urwerk.h
patching file arch/arm/Kconfig
Hunk #1 succeeded at 174 (offset -53 lines).
Hunk #2 succeeded at 815 (offset -182 lines).
patching file arch/arm/include/asm/mach-types.h
patching file configs/urwerk_defconfig
patching file arch/arm/include/asm/mach-types.h
patching file include/configs/urwerk.h
patching file arch/arm/cpu/arm926ejs/mxs/mxs.c
patching file board/silicann/urwerk/iomux.c
patching file configs/urwerk_production_defconfig
patching file include/configs/urwerk.h
patching file arch/arm/cpu/arm926ejs/mxs/mxs.c
patching file configs/urwerk_defconfig
patching file configs/urwerk_production_defconfig
patching file board/silicann/urwerk/iomux.c
patching file board/silicann/urwerk/urwerk.c
patching file configs/urwerk_development_defconfig
patching file configs/urwerk_init_defconfig (renamed from configs/urwerk_defconfig)
patching file configs/urwerk_production_defconfig
patching file include/configs/urwerk.h
patching file board/silicann/urwerk/iomux.c
patching file board/silicann/urwerk/urwerk.c
patching file include/configs/urwerk.h
patching file arch/arm/cpu/arm926ejs/mxs/mxs.c
touch "/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot-build/.uboot-patched.stamp"
mkdir -p "/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot-build/"
make -j2 ARCH=arm CROSS_COMPILE="/usr/bin/arm-linux-gnueabi-" -C "/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot" KBUILD_OUTPUT="/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot-build" "urwerk_production_defconfig"
make[4]: Entering directory '/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot'
make[5]: Entering directory '/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot-build'
HOSTCC scripts/basic/fixdep
GEN ./Makefile
SHIPPED scripts/kconfig/zconf.tab.c
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
#
# configuration written to .config
#
make[5]: Leaving directory '/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot-build'
make[4]: Leaving directory '/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot'
make -j2 ARCH=arm CROSS_COMPILE="/usr/bin/arm-linux-gnueabi-" -C "/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot" KBUILD_OUTPUT="/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot-build" u-boot.sb
make[4]: Entering directory '/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot'
make[5]: Entering directory '/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot-build'
GEN ./Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config.h
UPD include/config.h
GEN include/autoconf.mk.dep
GEN include/autoconf.mk
GEN spl/include/autoconf.mk
CHK include/config/uboot.release
GEN ./Makefile
CHK include/generated/timestamp_autogenerated.h
UPD include/config/uboot.release
UPD include/generated/timestamp_autogenerated.h
CHK include/generated/version_autogenerated.h
UPD include/generated/version_autogenerated.h
Using /srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot as source for U-Boot
CC arch/arm/lib/asm-offsets.s
CC lib/asm-offsets.s
CHK include/generated/generic-asm-offsets.h
CHK include/generated/asm-offsets.h
UPD include/generated/generic-asm-offsets.h
UPD include/generated/asm-offsets.h
LDS u-boot.lds
HOSTCC tools/img2srec
HOSTCC tools/gen_eth_addr
HOSTCC tools/mkenvimage.o
HOSTCC tools/os_support.o
WRAP tools/lib/crc32.c
HOSTCC tools/aisimage.o
HOSTCC tools/atmelimage.o
WRAP tools/common/bootm.c
HOSTCC tools/default_image.o
WRAP tools/lib/fdtdec_common.c
WRAP tools/lib/fdtdec.c
HOSTCC tools/fit_common.o
HOSTCC tools/fit_image.o
HOSTCC tools/gpimage.o
HOSTCC tools/gpimage-common.o
WRAP tools/common/image-fit.c
HOSTCC tools/image-host.o
WRAP tools/common/image.c
HOSTCC tools/imagetool.o
HOSTCC tools/imximage.o
HOSTCC tools/kwbimage.o
WRAP tools/lib/md5.c
HOSTCC tools/lpc32xximage.o
HOSTCC tools/mxsimage.o
HOSTCC tools/omapimage.o
HOSTCC tools/pblimage.o
/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot/tools/mxsimage.c:147:19: error: field ‘cipher_ctx’ has incomplete type
EVP_CIPHER_CTX cipher_ctx;
^~~~~~~~~~
/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot/tools/mxsimage.c:148:15: error: field ‘md_ctx’ has incomplete type
EVP_MD_CTX md_ctx;
^~~~~~
/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot/tools/mxsimage.c: In function ‘sb_postfill_image_header’:
/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot/tools/mxsimage.c:1325:13: error: storage size of ‘md_ctx’ isn’t known
EVP_MD_CTX md_ctx;
^~~~~~
/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot/tools/mxsimage.c:1325:13: warning: unused variable ‘md_ctx’ [-Wunused-variable]
/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot/tools/mxsimage.c: In function ‘sb_verify_image_header’:
/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot/tools/mxsimage.c:1624:13: error: storage size of ‘md_ctx’ isn’t known
EVP_MD_CTX md_ctx;
^~~~~~
/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot/tools/mxsimage.c:1624:13: warning: unused variable ‘md_ctx’ [-Wunused-variable]
scripts/Makefile.host:111: recipe for target 'tools/mxsimage.o' failed
make[6]: *** [tools/mxsimage.o] Error 1
make[6]: *** Waiting for unfinished jobs....
/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot/Makefile:1194: recipe for target 'tools' failed
make[5]: Leaving directory '/srv/build/workers/urwerk-default-amd64/linux-build/build/build/production/u-boot-build'
make[5]: *** [tools] Error 2
I had to copy the library in build/production/u-boot-build/
to satisfy the follow-up mv
looking for it with another name.
cp _libfdt.cpython-37m-x86_64-linux-gnu.so _libfdt.so
Probably this is caused by using a more recent toolchain...
The following guide describes how to specify the details of a USB gadget device: https://www.rmedgar.com/blog/using-rpi-zero-as-keyboard-setup-and-device-definition
There the module "dwc2" is mentioned, which is currently missing in the kernel configuration.
Thank you!
The name of the external serial interface depends on the selected kernel:
Probably this is connected to the use of the the serial line for debugging output in the development kernel?
It is not really relevant and surely does not deserve too much effort.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.