├── 3rdparty ├── readme.txt └── xinput_calibrator_pointercal.sh ├── boot ├── am335x_evm.sh ├── autoconfigure_usb0.sh ├── autoconfigure_usb1.sh ├── bbai.sh ├── bbai_SoftAp0.sh ├── bbai_bluetooth_main.conf ├── bbai_bluetooth_nap.sh ├── bbai_dnsmasq.conf ├── bbai_hostapd.conf ├── bbai_usb_gadget.sh ├── bbai_usb_host.sh ├── beagle_x15.sh ├── capemgr.sh ├── default │ ├── bb-boot │ └── robotcontrol_modules.conf ├── generic-startup.sh ├── generic.sh ├── legacy │ ├── old_cape_universal.sh │ ├── old_debug_permissions.sh │ ├── old_resize.sh │ ├── write_eeprom.sh │ └── write_emmc.sh ├── omap3_beagle.sh └── omap5_uevm.sh ├── desktop-defaults ├── buster │ ├── lxqt │ │ ├── lxqt │ │ │ ├── filedialog.conf │ │ │ ├── globalkeyshortcuts.conf │ │ │ ├── lxqt-config-appearance.conf │ │ │ ├── lxqt-config.conf │ │ │ ├── lxqt-powermanagement.conf │ │ │ ├── lxqt-runner.conf │ │ │ ├── lxqt.conf │ │ │ ├── notifications.conf │ │ │ ├── panel.conf │ │ │ ├── power.conf │ │ │ ├── session.conf │ │ │ └── windowmanagers.conf │ │ └── pcmanfm-qt │ │ │ └── lxqt │ │ │ └── settings.conf │ └── reset_lxqt.sh ├── jessie │ ├── lxqt │ │ ├── lxqt │ │ │ ├── desktop.conf │ │ │ ├── globalkeyshortcuts.conf │ │ │ ├── lxqt-runner.conf │ │ │ ├── lxqt.conf │ │ │ ├── notifications.conf │ │ │ ├── panel.conf │ │ │ ├── power.conf │ │ │ └── session.conf │ │ ├── openbox │ │ │ └── rc.xml │ │ └── pcmanfm-qt │ │ │ └── lxqt │ │ │ └── settings.conf │ └── reset_lxqt.sh └── stretch │ ├── lxqt │ ├── lxqt │ │ ├── lxqt-config.conf │ │ ├── lxqt-runner.conf │ │ ├── lxqt.conf │ │ ├── panel.conf │ │ ├── power.conf │ │ └── session.conf │ └── pcmanfm-qt │ │ └── lxqt │ │ └── settings.conf │ └── reset_lxqt.sh ├── device ├── bbai │ └── firmware │ │ ├── brcmfmac43455-sdio.beagleboard.org,am5729-beagleboneai.txt │ │ ├── brcmfmac43455-sdio.bin │ │ ├── brcmfmac43455-sdio.clm_blob │ │ ├── brcmfmac43455-sdio.txt │ │ ├── copy.sh │ │ └── fw_bcm43455c0_ag.bin ├── bbai64 │ └── BBAI64-eeprom.dump ├── blue │ └── enable_balance.sh ├── bone │ ├── A335-eeprom.dump │ ├── abbbi-eeprom.dump │ ├── bbb-eeprom.dump │ ├── bbbl-eeprom.dump │ ├── bbbw-eeprom.dump │ ├── bbg-eeprom.dump │ ├── bbgw-eeprom.dump │ ├── bbgw │ │ ├── WL1835MOD_INI_C2PC.ini │ │ ├── generate.sh │ │ └── wl18xx-conf.bin │ ├── blgc-eeprom.dump │ ├── bp00-eeprom.dump │ ├── capes │ │ ├── BB-BEAGLELOGIC │ │ │ ├── beaglelogic-pru0 │ │ │ └── beaglelogic-pru1 │ │ ├── BB-CAPE-DISP-CT4 │ │ │ └── eeprom.dump │ │ ├── BBB_Audio_Cape_RevB │ │ │ └── asound.state │ │ ├── BeagleBoard.org │ │ │ ├── A1Fan_Cape.dump │ │ │ ├── BC02.dump │ │ │ ├── BC03.dump │ │ │ ├── BC07.dump │ │ │ └── example.dump │ │ ├── DLPDLCR2000 │ │ │ ├── CmdHandler.py │ │ │ ├── CmdStatus.py │ │ │ ├── Constants.py │ │ │ ├── Curtain.py │ │ │ ├── Environmental.py │ │ │ ├── ExtProjOnOff.py │ │ │ ├── LEDSet.py │ │ │ ├── LEDTest.py │ │ │ ├── Look.py │ │ │ ├── MplayerTest.py │ │ │ ├── Park.py │ │ │ ├── ProjCntl.py │ │ │ ├── README.txt │ │ │ ├── ReadCCA.py │ │ │ ├── ReadEEPROMBBB.py │ │ │ ├── Splash.py │ │ │ ├── SpotCheck.py │ │ │ ├── Status.py │ │ │ ├── SystemReset.py │ │ │ ├── TPGTest.py │ │ │ ├── control.py │ │ │ ├── dlp_lightcrafter-1.0.19.tar.gz │ │ │ ├── eeprom.dump │ │ │ ├── nhd_test.mp4 │ │ │ └── structured_light │ │ │ │ ├── Makefile │ │ │ │ ├── README.md │ │ │ │ ├── display_app.c │ │ │ │ ├── display_app.h │ │ │ │ ├── display_core.c │ │ │ │ ├── display_core.h │ │ │ │ ├── open_bmp.c │ │ │ │ └── open_bmp.h │ │ ├── ISM4334X │ │ │ ├── ISM4334X_NVRAM_C1.txt │ │ │ ├── ISM4334X_Wifi_FW_6.20.225.2_P.bin │ │ │ └── install.sh │ │ ├── ISM43362 │ │ │ ├── ISM43362_NVRAM_C1.txt │ │ │ ├── ISM43362_WiFi_FW_5.90.225.0_P.bin │ │ │ └── install.sh │ │ ├── ISM4343W │ │ │ ├── 4343w_bcmdhd.txt │ │ │ ├── 4343w_fw_bcmdhd.bin │ │ │ └── install.sh │ │ ├── cape_eeprom_check.sh │ │ ├── dksb1017 │ │ │ └── dksb1017.eeprom │ │ └── readme │ ├── eeprom_database.txt │ ├── m10a-eeprom.dump │ ├── me06-eeprom.dump │ ├── osd3358-sm-red-eeprom.dump │ ├── pru-rpmsg_client_sample │ │ ├── am335x-pru0-fw │ │ └── am335x-pru1-fw │ ├── show-pins-install.sh │ └── tester │ │ ├── eeprom-blank.sh │ │ ├── eeprom-u-boot.sh │ │ └── show-eeprom.sh └── x15 │ ├── PM_A3-eeprom.dump │ ├── SB_A-eeprom.dump │ ├── X15_B1-eeprom.dump │ ├── X15_C-eeprom.dump │ ├── eeprom │ └── eeprom-blank.sh │ ├── pru-rpmsg_client_sample │ ├── am57xx-pru1_0-fw │ ├── am57xx-pru1_1-fw │ ├── am57xx-pru2_0-fw │ └── am57xx-pru2_1-fw │ ├── show-eeprom.sh │ ├── test_audio_jacks.sh │ ├── test_dual_eth.sh │ └── test_thermal.sh ├── distro ├── bionic │ └── nginx │ │ └── default └── buster │ └── nginx │ └── default ├── images ├── beaglebg-eMMC.jpg └── beaglebg.jpg ├── mods ├── cloud9-systemd-fix.diff ├── debian-add-sbin-usr-sbin-to-default-path.diff ├── jessie-systemd-poweroff.diff ├── node-red │ ├── node-red-0.10.10.patch │ ├── node-red-0.11.2.patch │ ├── node-red-0.12.5.patch │ ├── node-red-0.13.1.patch │ └── node-red-0.9.1-nocolors.patch └── wheezy-systemd-poweroff.diff ├── network ├── doc-debian-setup.md ├── usb_linux_usb0_ics.sh ├── usb_linux_usb1_ics.sh ├── usb_mac_ics.sh ├── usb_windows_ics.sh └── wifi_enterprise.sh ├── tools ├── beaglebone-black-eMMC-flasher.sh ├── config_checking │ └── docker │ │ ├── check-config.sh │ │ ├── grab.sh │ │ └── readme.md ├── developers │ ├── apt-proxy.sh │ ├── fake_ntp.sh │ ├── nfs-rsync.sh │ ├── rcnee-testing.sh │ ├── secondary_rootfs.sh │ ├── update_bootloader.sh │ └── update_initrd.sh ├── dtc │ └── dtc-3.8.x.sh ├── eMMC │ ├── bbb-eMMC-flasher-eewiki-12mb.sh │ ├── bbb-eMMC-flasher-eewiki-ext4.sh │ ├── beaglebone-black-make-microSD-flasher-from-eMMC.sh │ ├── functions.sh │ ├── init-eMMC-flasher-a335.sh │ ├── init-eMMC-flasher-bp00.sh │ ├── init-eMMC-flasher-from-usb-media-v1-bbgw.sh │ ├── init-eMMC-flasher-from-usb-media-v2-bbgw.sh │ ├── init-eMMC-flasher-from-usb-media.sh │ ├── init-eMMC-flasher-v2.sh │ ├── init-eMMC-flasher-v3-bbbl.sh │ ├── init-eMMC-flasher-v3-bbbw.sh │ ├── init-eMMC-flasher-v3-bbg.sh │ ├── init-eMMC-flasher-v3-bbgw.sh │ ├── init-eMMC-flasher-v3-m10a.sh │ ├── init-eMMC-flasher-v3-me06.sh │ ├── init-eMMC-flasher-v3-no-eeprom.sh │ ├── init-eMMC-flasher-v3-x15_b1.sh │ ├── init-eMMC-flasher-v3.sh │ ├── mmc_resize_usbflasher_example.md │ ├── mmc_usbflasher_example.md │ └── readme.md ├── generate_extlinux.sh ├── graphics │ ├── fsl-etnaviv.sh │ ├── fsl-imx-drm.sh │ ├── ti-omapdrm.sh │ └── ti-tilcdc.sh ├── grow_partition.sh ├── init-eMMC-flasher.sh ├── non-mmc-rootfs │ └── mv_rootfs_dev_sda.sh ├── readme.txt ├── software │ ├── add_nodesource_repo.sh │ ├── hologram-tools │ │ ├── .gitignore │ │ ├── README.md │ │ ├── imported_from.txt │ │ └── ppp │ │ │ ├── chatscripts │ │ │ ├── e303 │ │ │ ├── ms2131 │ │ │ ├── nova │ │ │ └── nova-m │ │ │ └── peers │ │ │ ├── e303 │ │ │ ├── nova │ │ │ └── nova-m │ └── mjpg-streamer │ │ ├── README.md │ │ ├── install_mjpg_streamer.sh │ │ ├── mjpg-streamer.rules │ │ └── mjpg-streamer.service ├── update_kernel.sh ├── version.sh └── wm │ ├── efl.sh │ ├── kwin.sh │ ├── lxde.sh │ ├── lxqt.sh │ ├── maynard.sh │ ├── weston-drm.sh │ ├── weston-fbdev.sh │ └── weston.sh └── un-tweak-image ├── debian-re-secure-root-ssh.sh └── disable-bonescript-renable-apache-port-80.sh /3rdparty/readme.txt: -------------------------------------------------------------------------------- 1 | script: xinput_calibrator_pointercal.sh 2 | from: https://github.com/tias/xinput_calibrator/blob/master/scripts/xinput_calibrator_pointercal.sh 3 | License: https://github.com/tias/xinput_calibrator/blob/master/COPYING 4 | -------------------------------------------------------------------------------- /3rdparty/xinput_calibrator_pointercal.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # script to make the changes permanent (xinput is called with every Xorg start) 3 | # 4 | # can be used from Xsession.d 5 | # script needs tee and sed (busybox variants are enough) 6 | # 7 | # original script: Martin Jansa , 2010-01-31 8 | # updated by Tias Guns , 2010-02-15 9 | # updated by Koen Kooi , 2012-02-28 10 | 11 | PATH="/usr/bin:$PATH" 12 | 13 | BINARY="xinput_calibrator" 14 | CALFILE="/etc/pointercal.xinput" 15 | LOGFILE="/var/log/xinput_calibrator.pointercal.log" 16 | 17 | unset detected_capes 18 | detected_capes=$(cat /proc/cmdline | sed 's/ /\n/g' | grep uboot_detected_capes= || true) 19 | if [ ! "x${detected_capes}" = "x" ] ; then 20 | unset scan_ts 21 | # got_4D4R=$(echo ${detected_capes} | grep BB-BONE-4D4R-01 || true) 22 | # if [ ! "x${got_4D4R}" = "x" ] ; then 23 | # echo "xinput_calibrator: found: 4D4R touchscreen (ar1021 I2C Touchscreen)" 24 | # scan_ts="ar1021" 25 | # fi 26 | 27 | ###FIXME: 3.8.x do all this old crap... 28 | else 29 | #Device: 30 | whitelist=`$BINARY --list | sed 's/ /_/g' | awk -F "\"" '{print $2}' | grep EP0790M09 || true` 31 | 32 | if [ ! "x${whitelist}" = "x" ] ; then 33 | CALFILE="/etc/pointercal.xinput.EP0790M09" 34 | device_id=`$BINARY --list | grep EP0790M09 | sed 's/ /\n/g' | grep id | awk -F "id=" '{print $2}'` 35 | 36 | if [ -e $CALFILE ] ; then 37 | if grep replace $CALFILE ; then 38 | echo "Empty calibration file found, removing it" 39 | rm $CALFILE 40 | else 41 | echo "Using calibration data stored in $CALFILE" 42 | . $CALFILE && exit 0 43 | fi 44 | fi 45 | 46 | CALDATA=`$BINARY --device ${device_id} --output-type xinput -v | tee $LOGFILE | grep ' xinput set' | sed 's/^ //g; s/$/;/g'` 47 | if [ ! -z "$CALDATA" ] ; then 48 | echo $CALDATA > $CALFILE 49 | echo "Calibration data stored in $CALFILE (log in $LOGFILE)" 50 | fi 51 | else 52 | if [ -e $CALFILE ] ; then 53 | if grep replace $CALFILE ; then 54 | echo "Empty calibration file found, removing it" 55 | rm $CALFILE 56 | else 57 | echo "Using calibration data stored in $CALFILE" 58 | . $CALFILE && exit 0 59 | fi 60 | fi 61 | 62 | ##BlackList: 63 | #Logitech USB Keyboard 64 | unset blacklist 65 | blacklist=`$BINARY --list | sed 's/ /_/g' | awk -F "\"" '{print $2}' || true` 66 | if [ "x${blacklist}" = "xLogitech_USB_Keyboard" ] ; then 67 | exit 0 68 | fi 69 | 70 | CALDATA=`$BINARY --output-type xinput -v | tee $LOGFILE | grep ' xinput set' | sed 's/^ //g; s/$/;/g'` 71 | if [ ! -z "$CALDATA" ] ; then 72 | echo $CALDATA > $CALFILE 73 | echo "Calibration data stored in $CALFILE (log in $LOGFILE)" 74 | fi 75 | fi 76 | fi 77 | # 78 | -------------------------------------------------------------------------------- /boot/autoconfigure_usb1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2017 David Lechner 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | # 23 | 24 | 25 | # 26 | # Auto-configuring the usb1 network interface: 27 | # 28 | # usb1 is the CDC/ECM gadget connection. It is managed by ConnMan and uses 29 | # tethering so that it serves a DHCP address to attached hosts. The IPv4 subnet 30 | # used by ConnMan is not consistent, so hosts should connect using the mDNS 31 | # name (beaglebone.local) instead of an IP address. 32 | # 33 | 34 | # This is probably not needed if autoconfigure_usb0.sh is run first because it 35 | # also waits for /sys/class/net/usb0/ 36 | until [ -d /sys/class/net/usb1/ ] ; do 37 | sleep 1 38 | echo "g_multi: waiting for /sys/class/net/usb1/" 39 | done 40 | 41 | # gadget is not supported by ConnMan provisioning files, so we have to do this 42 | # the ugly way. Advanced users can comment these line to gain full control of 43 | # the usb1 network interface. 44 | #connmanctl enable gadget >/dev/null 2>&1 45 | #connmanctl tether gadget on >/dev/null 2>&1 46 | 47 | # if there is any pre-existing config for usb1, use that; 48 | # otherwise use a static default 49 | grep -rqE '^\s*iface usb1 inet' /etc/network/interfaces* && /sbin/ifup usb1 \ 50 | || /sbin/ifconfig usb1 192.168.6.2 netmask 255.255.255.252 \ 51 | || true 52 | -------------------------------------------------------------------------------- /boot/bbai_SoftAp0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2016-2018 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | #set -x 24 | #set -e 25 | 26 | until [ -d /sys/class/net/wlan0/ ] ; do 27 | sleep 3 28 | echo "SoftAp0: waiting for /sys/class/net/wlan0/" 29 | done 30 | 31 | /sbin/iw phy phy0 interface add SoftAp0 type managed 32 | /sbin/ip link set dev SoftAp0 up 33 | /sbin/ip addr flush dev SoftAp0 34 | /sbin/ip addr add 192.168.8.1/24 broadcast 192.168.8.255 dev SoftAp0 35 | echo 1 > /proc/sys/net/ipv4/ip_forward 36 | /sbin/iptables -w -t nat -A POSTROUTING -o wlan0 -j MASQUERADE || true 37 | /sbin/iptables -w -A FORWARD -i wlan0 -o SoftAp0 -m state --state RELATED,ESTABLISHED -j ACCEPT || true 38 | /sbin/iptables -w -A FORWARD -i SoftAp0 -o wlan0 -j ACCEPT || true 39 | /bin/systemctl restart hostapd 40 | 41 | -------------------------------------------------------------------------------- /boot/bbai_bluetooth_nap.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2016-2018 Robert Nelson 4 | # Copyright (c) 2019 Texas Instruments, Jason Kridner 5 | # 6 | # Permission is hereby granted, free of charge, to any person obtaining a copy 7 | # of this software and associated documentation files (the "Software"), to deal 8 | # in the Software without restriction, including without limitation the rights 9 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | # copies of the Software, and to permit persons to whom the Software is 11 | # furnished to do so, subject to the following conditions: 12 | # 13 | # The above copyright notice and this permission notice shall be included in 14 | # all copies or substantial portions of the Software. 15 | # 16 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | # THE SOFTWARE. 23 | 24 | #set -x 25 | #set -e 26 | 27 | until [ -d /sys/class/bluetooth/hci0/ ] ; do 28 | sleep 3 29 | echo "bluetooth: waiting for /sys/class/bluetooth/hci0/" 30 | done 31 | 32 | brctl addbr btbridge0 33 | ip link set dev btbridge0 address 11:22:33:44:55:66 || true 34 | ip link set dev btbridge0 up 35 | ip addr flush dev btbridge0 36 | ip addr add 192.168.21.1/24 broadcast 192.168.21.255 dev btbridge0 37 | echo 1 > /proc/sys/net/ipv4/ip_forward 38 | iptables -w -t nat -A POSTROUTING -o wlan0 -j MASQUERADE || true 39 | iptables -w -A FORWARD -i wlan0 -o btbridge0 -m state --state RELATED,ESTABLISHED -j ACCEPT || true 40 | iptables -w -A FORWARD -i btbridge0 -o wlan0 -j ACCEPT || true 41 | bt-network -s nap btbridge0 & 42 | -------------------------------------------------------------------------------- /boot/bbai_dnsmasq.conf: -------------------------------------------------------------------------------- 1 | interface=SoftAp0 2 | interface=btbridge0 3 | interface=usb0 4 | interface=usb1 5 | port=53 6 | dhcp-authoritative 7 | domain-needed 8 | bogus-priv 9 | expand-hosts 10 | cache-size=2048 11 | dhcp-range=SoftAp0,192.168.8.50,192.168.8.150,10m 12 | dhcp-range=btbridge0,192.168.21.50,192.168.21.150,20m 13 | dhcp-range=usb0,192.168.7.1,192.168.7.1,2m 14 | dhcp-range=usb1,192.168.6.1,192.168.6.1,2m 15 | listen-address=127.0.0.1 16 | listen-address=192.168.8.1 17 | listen-address=192.168.21.1 18 | listen-address=192.168.7.2 19 | listen-address=192.168.6.2 20 | dhcp-option-force=interface:SoftAp0,option:dns-server,192.168.8.1 21 | dhcp-option-force=interface:SoftAp0,option:mtu,1500 22 | dhcp-option-force=interface:btbridge0,option:dns-server,192.168.8.1 23 | dhcp-option-force=interface:btbridge0,option:mtu,1500 24 | dhcp-option=usb0,3 25 | dhcp-option=usb0,6 26 | dhcp-option=usb1,3 27 | dhcp-option=usb1,6 28 | dhcp-leasefile=/var/run/dnsmasq.leases 29 | 30 | -------------------------------------------------------------------------------- /boot/bbai_hostapd.conf: -------------------------------------------------------------------------------- 1 | interface=SoftAp0 2 | ssid=BeagleBone-AI 3 | hw_mode=g 4 | channel=1 5 | macaddr_acl=0 6 | auth_algs=1 7 | ignore_broadcast_ssid=0 8 | wpa=2 9 | wpa_passphrase=BeagleBone 10 | wpa_key_mgmt=WPA-PSK 11 | wpa_pairwise=TKIP 12 | rsn_pairwise=CCMP 13 | logger_syslog=-1 14 | logger_syslog_level=2 15 | 16 | -------------------------------------------------------------------------------- /boot/bbai_usb_host.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2019 Texas Instruments, Jason Kridner 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | #set -e 24 | #set -x 25 | 26 | echo "host" > /sys/kernel/debug/48890000.usb/mode 27 | 28 | -------------------------------------------------------------------------------- /boot/capemgr.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | if test -f /etc/default/capemgr; then 4 | . /etc/default/capemgr 5 | fi 6 | 7 | #CAPE="cape-bone-proto" 8 | 9 | cape_list=$(echo ${CAPE} | sed "s/ //g" | sed "s/,/ /g") 10 | 11 | #v4.1.x-capemgr added platform directory 12 | if [ -f /sys/devices/platform/bone_capemgr/slots ] ; then 13 | capemgr="/sys/devices/platform/bone_capemgr/slots" 14 | else 15 | capemgr=$(ls /sys/devices/bone_capemgr.*/slots 2> /dev/null || true) 16 | fi 17 | 18 | load_overlay () { 19 | echo ${overlay} > ${capemgr} 20 | } 21 | 22 | if [ ! "x${cape_list}" = "x" ] ; then 23 | if [ ! "x${capemgr}" = "x" ] ; then 24 | for overlay in ${cape_list} ; do load_overlay ; done 25 | fi 26 | fi 27 | -------------------------------------------------------------------------------- /boot/default/bb-boot: -------------------------------------------------------------------------------- 1 | # This file allows some control on the boot process 2 | # 3 | # USB_IMAGE_FILE_DISABLED=yes #disable the loading of the mass storage file. 4 | # when UNSET the detected file (based on the board detected) will be used. 5 | # other values take no effect, and are ignored. The only expected value is "yes" 6 | ##USB_IMAGE_FILE_DISABLED=yes 7 | # 8 | # USB_NETWORK_DISABLED=yes #disable the loading of the network. 9 | # when UNSET the detected file (based on the board detected) will be used. 10 | # other values take no effect, and are ignored. The only expected value is "yes" 11 | ##USB_NETWORK_DISABLED=yes 12 | 13 | ###To Run Multple Boards on one USB HOST, change the 3rd octal on every 14 | ###USBx_SUBNET define and USBx_ADDRESS 15 | ###BeagleBone Number 2: USB0: 192.168.11.2 USB1: 192.168.10.2 16 | ###BeagleBone Number 3: USB0: 192.168.13.2 USB1: 192.168.12.2 17 | ###And So On.. 18 | 19 | USB_CONFIGURATION=enable 20 | #Its assumed usb0 is always enabled, usb1 can be disabled... 21 | USB0_SUBNET=192.168.7 22 | USB0_ADDRESS=192.168.7.2 23 | USB0_NETMASK=255.255.255.0 24 | 25 | USB1_ENABLE=enable 26 | USB1_SUBNET=192.168.6 27 | USB1_ADDRESS=192.168.6.2 28 | USB1_NETMASK=255.255.255.0 29 | 30 | DNS_NAMESERVER=8.8.8.8 31 | 32 | -------------------------------------------------------------------------------- /boot/default/robotcontrol_modules.conf: -------------------------------------------------------------------------------- 1 | # modules required by librobotcontrol 2 | # 3 | # Wthout this file, systemd starts the robotcontrol service before these modules 4 | # have been loaded. rc_startup_routine will still wait until these modules are 5 | # loaded before starting a user's startup project, but this process takes ~20s 6 | # If you are going to fiddle with this file, watch 7 | # /var/log/robotcontrol/startup_log.txt to see if any delays are being caused in 8 | # the boot sequence as a result. Everything should be loaded by the 9-second point. 9 | # Without this file, the modules do not load until the ~30s point. 10 | # 11 | # see the discussion here for more info: 12 | # https://github.com/StrawsonDesign/librobotcontrol/issues/150 13 | 14 | pwm_tiehrpwm 15 | tieqep 16 | pru_rproc 17 | pruss_soc_bus 18 | spidev 19 | 20 | -------------------------------------------------------------------------------- /boot/generic-startup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | echo "generic-board-startup: start" 4 | 5 | #eMMC flasher just exited single user mode via: [exec /sbin/init] 6 | #as we can't shutdown properly in single user mode 7 | unset are_we_flasher 8 | are_we_flasher=$(grep init-eMMC-flasher /proc/cmdline || true) 9 | if [ ! "x${are_we_flasher}" = "x" ] ; then 10 | systemctl poweroff || halt 11 | exit 12 | fi 13 | 14 | if [ ! -f /lib/systemd/system/regenerate_ssh_host_keys.service ] ; then 15 | echo "generic-board-startup: ssh" 16 | #Regenerate ssh host keys 17 | if [ -f /etc/ssh/ssh.regenerate ] ; then 18 | echo "generic-board-startup: regenerating ssh keys" 19 | systemctl stop sshd 20 | rm -rf /etc/ssh/ssh_host_* || true 21 | 22 | if [ -e /dev/hwrng ] ; then 23 | # Mix in the output of the HWRNG to the kernel before generating ssh keys 24 | dd if=/dev/hwrng of=/dev/urandom count=1 bs=4096 2>/dev/null 25 | echo "generic-board-startup: if=/dev/hwrng of=/dev/urandom count=1 bs=4096" 26 | else 27 | echo "generic-board-startup: WARNING /dev/hwrng wasn't available" 28 | fi 29 | 30 | dpkg-reconfigure openssh-server 31 | 32 | # while we're at it, make sure we have unique machine IDs as well 33 | rm -f /var/lib/dbus/machine-id || true 34 | rm -f /etc/machine-id || true 35 | dbus-uuidgen --ensure 36 | systemd-machine-id-setup 37 | 38 | sync 39 | if [ -s /etc/ssh/ssh_host_ed25519_key.pub ] ; then 40 | rm -f /etc/ssh/ssh.regenerate || true 41 | sync 42 | systemctl start sshd 43 | fi 44 | fi 45 | fi 46 | 47 | echo "generic-board-startup: efi" 48 | if [ -f /boot/efi/EFI/efi.gen ] ; then 49 | if [ -f /usr/sbin/grub-install ] ; then 50 | echo "grub-install --efi-directory=/boot/efi/ --target=arm-efi --no-nvram" 51 | grub-install --efi-directory=/boot/efi/ --target=arm-efi --no-nvram 52 | echo "update-grub" 53 | update-grub 54 | sync 55 | fi 56 | rm -rf /boot/efi/EFI/efi.gen || true 57 | sync 58 | fi 59 | 60 | #Resize drive when requested 61 | if [ -f /var/resizerootfs ] ; then 62 | echo "generic-board-startup: resizerootfs" 63 | 64 | unset is_btrfs 65 | is_btrfs=$(cat /proc/cmdline | grep btrfs || true) 66 | 67 | if [ "x${is_btrfs}" = "x" ] ; then 68 | drive=$(cat /var/resizerootfs) 69 | if [ ! "x${drive}" = "x" ] ; then 70 | echo "generic-board-startup: " 71 | if [ "x${drive}" = "x/dev/mmcblk0" ] || [ "x${drive}" = "x/dev/mmcblk1" ] ; then 72 | echo "generic-board-startup: resize2fs ${drive}p2" 73 | resize2fs ${drive}p2 >/var/log/resize.log 2>&1 || true 74 | else 75 | echo "generic-board-startup: resize2fs ${drive}" 76 | resize2fs ${drive} >/var/log/resize.log 2>&1 || true 77 | fi 78 | fi 79 | else 80 | echo "generic-board-startup: btrfs filesystem resize max /" 81 | btrfs filesystem resize max / >/var/log/resize.log 2>&1 || true 82 | fi 83 | 84 | rm -rf /var/resizerootfs || true 85 | sync 86 | fi 87 | 88 | echo "generic-board-startup: model" 89 | if [ -f /proc/device-tree/model ] ; then 90 | board=$(cat /proc/device-tree/model | sed "s/ /_/g") 91 | echo "generic-board-startup: [model=${board}]" 92 | 93 | case "${board}" in 94 | TI_AM335x*|Arrow_BeagleBone_Black_Industrial|SanCloud_BeagleBone_Enhanced|Octavo_Systems*|SeeedStudio*) 95 | script="am335x_evm.sh" 96 | ;; 97 | TI_AM5728*) 98 | script="beagle_x15.sh" 99 | ;; 100 | TI_OMAP3_Beagle*) 101 | script="omap3_beagle.sh" 102 | ;; 103 | TI_OMAP5_uEVM_board) 104 | script="omap5_uevm.sh" 105 | ;; 106 | BeagleBoard.org_BeagleBone_AI) 107 | script="bbai.sh" 108 | ;; 109 | *) 110 | script="generic.sh" 111 | ;; 112 | esac 113 | 114 | if [ -f "/opt/scripts/boot/${script}" ] ; then 115 | echo "generic-board-startup: [startup script=/opt/scripts/boot/${script}]" 116 | /bin/sh /opt/scripts/boot/${script} 117 | fi 118 | fi 119 | -------------------------------------------------------------------------------- /boot/generic.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2013-2015 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | #Just Cleanup /etc/issue, systemd starts up tty before these are updated... 24 | sed -i -e '/Address/d' /etc/issue || true 25 | 26 | # 27 | -------------------------------------------------------------------------------- /boot/legacy/old_debug_permissions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2020 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | #legacy support of: /sys/kernel/debug mount permissions... 24 | #We now use: debugfs /sys/kernel/debug debugfs mode=755,uid=root,gid=gpio,defaults 0 0 25 | #vs old: debugfs /sys/kernel/debug debugfs defaults 0 0 26 | if [ -d /sys/kernel/debug ] ; then 27 | /bin/chmod -R ugo+x /sys/kernel/debug/ || true 28 | if [ -d /sys/kernel/debug/pinctrl/44e10800.pinmux/ ] ; then 29 | /bin/chgrp -R gpio /sys/kernel/debug/pinctrl/44e10800.pinmux/ || true 30 | /bin/chmod -R g=u /sys/kernel/debug/pinctrl/44e10800.pinmux/ || true 31 | fi 32 | fi 33 | -------------------------------------------------------------------------------- /boot/legacy/old_resize.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2013-2017 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | #legacy support of: 2014-05-14 24 | #Taken care by: 25 | #https://github.com/RobertCNelson/omap-image-builder/blob/master/target/init_scripts/generic-debian.sh#L51 26 | if [ -f /resizerootfs ] ; then 27 | if [ ! -d /boot/debug/ ] ; then 28 | mkdir -p /boot/debug/ || true 29 | fi 30 | 31 | drive=$(cat /resizerootfs) 32 | if [ "x${drive}" = "x" ] ; then 33 | drive="/dev/mmcblk0" 34 | fi 35 | 36 | #FIXME: only good for two partition "/dev/mmcblkXp2" setups... 37 | resize2fs ${drive}p2 >/boot/debug/resize.log 2>&1 38 | rm -rf /resizerootfs || true 39 | fi 40 | -------------------------------------------------------------------------------- /boot/legacy/write_eeprom.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2013-2017 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | #legacy support of: 2014-05-14 flashing eeprom... 24 | eeprom="/sys/bus/i2c/devices/0-0050/eeprom" 25 | #taken care by the init flasher 26 | #Flash BeagleBone Black's eeprom: 27 | if [ -f /boot/uboot/flash-eMMC.txt ] ; then 28 | eeprom_location=$(ls /sys/devices/ocp.*/44e0b000.i2c/i2c-0/0-0050/eeprom 2> /dev/null) 29 | eeprom_header=$(hexdump -e '8/1 "%c"' ${eeprom} -s 5 -n 3) 30 | if [ "x${eeprom_header}" = "x335" ] ; then 31 | echo "Valid EEPROM header found" 32 | else 33 | echo "Invalid EEPROM header detected" 34 | if [ -f /opt/scripts/device/bone/bbb-eeprom.dump ] ; then 35 | if [ ! "x${eeprom_location}" = "x" ] ; then 36 | echo "Adding header to EEPROM" 37 | dd if=/opt/scripts/device/bone/bbb-eeprom.dump of=${eeprom_location} 38 | sync 39 | #We have to reboot, to load eMMC cape 40 | reboot 41 | #We shouldnt hit this... 42 | exit 43 | fi 44 | fi 45 | fi 46 | fi 47 | -------------------------------------------------------------------------------- /boot/legacy/write_emmc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2013-2017 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | #legacy support of: 2014-05-14 flashing emmc... 24 | #taken care by the init flasher 25 | if [ -f /boot/uboot/flash-eMMC.txt ] ; then 26 | if [ ! -d /boot/uboot/debug/ ] ; then 27 | mkdir -p /boot/uboot/debug/ || true 28 | fi 29 | 30 | if [ -f /opt/scripts/tools/beaglebone-black-eMMC-flasher.sh ] ; then 31 | /bin/bash /opt/scripts/tools/beaglebone-black-eMMC-flasher.sh >/boot/uboot/debug/flash-eMMC.log 2>&1 32 | fi 33 | fi 34 | -------------------------------------------------------------------------------- /boot/omap5_uevm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2013-2015 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | #Make sure the cpu_thermal zone is enabled... 24 | if [ -f /sys/class/thermal/thermal_zone0/mode ] ; then 25 | echo enabled > /sys/class/thermal/thermal_zone0/mode 26 | fi 27 | 28 | #Just Cleanup /etc/issue, systemd starts up tty before these are updated... 29 | sed -i -e '/Address/d' /etc/issue || true 30 | 31 | #Disabling Non-Valid Services.. 32 | unset check_service 33 | check_service=$(systemctl is-enabled bb-bbai-tether.service || true) 34 | if [ "x${check_service}" = "xenabled" ] ; then 35 | echo "${log} systemctl: disable bb-bbai-tether.service" 36 | systemctl disable bb-bbai-tether.service || true 37 | fi 38 | unset check_service 39 | check_service=$(systemctl is-enabled robotcontrol.service || true) 40 | if [ "x${check_service}" = "xenabled" ] ; then 41 | echo "${log} systemctl: disable robotcontrol.service" 42 | systemctl disable robotcontrol.service || true 43 | rm -f /etc/modules-load.d/robotcontrol_modules.conf || true 44 | fi 45 | unset check_service 46 | check_service=$(systemctl is-enabled rc_battery_monitor.service || true) 47 | if [ "x${check_service}" = "xenabled" ] ; then 48 | echo "${log} systemctl: rc_battery_monitor.service" 49 | systemctl disable rc_battery_monitor.service || true 50 | fi 51 | 52 | # 53 | -------------------------------------------------------------------------------- /desktop-defaults/buster/lxqt/lxqt/filedialog.conf: -------------------------------------------------------------------------------- 1 | [Sizes] 2 | SplitterPos=200 3 | WindowSize=@Size(700 500) 4 | 5 | [View] 6 | Mode=Detailed 7 | -------------------------------------------------------------------------------- /desktop-defaults/buster/lxqt/lxqt/globalkeyshortcuts.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | AllowGrabBaseKeypad=true 3 | AllowGrabBaseSpecial=false 4 | AllowGrabLocks=false 5 | AllowGrabMiscKeypad=true 6 | AllowGrabMiscSpecial=true 7 | MultipleActionsBehaviour=first 8 | 9 | [.1] 10 | Comment=Show desktop 11 | Enabled=true 12 | path=/panel/showdesktop/show_hide 13 | 14 | [Alt%2BF1.2] 15 | Comment=Show/hide main menu 16 | Enabled=true 17 | path=/panel/mainmenu/show_hide 18 | 19 | [Alt%2BF2.3] 20 | Comment=Show/hide runner dialog 21 | Enabled=true 22 | path=/runner/show_hide_dialog 23 | 24 | [Control%2BAlt%2BE.4] 25 | Comment=Pcmanfm 26 | Enabled=true 27 | Exec=pcmanfm-qt 28 | 29 | [Control%2BAlt%2BI.5] 30 | Comment=Web browser 31 | Enabled=true 32 | Exec=xdg-open, about:blank 33 | 34 | [Control%2BAlt%2BL.6] 35 | Comment=lockscreen 36 | Enabled=true 37 | Exec=xdg-screensaver, lock 38 | 39 | [Control%2BAlt%2BT.7] 40 | Comment=QTerminal 41 | Enabled=true 42 | Exec=qterminal 43 | 44 | [Meta%2B0.8] 45 | Comment=Activate task 10 46 | Enabled=true 47 | path=/panel/taskbar/task_10 48 | 49 | [Meta%2B1.9] 50 | Comment=Activate task 1 51 | Enabled=true 52 | path=/panel/taskbar/task_1 53 | 54 | [Meta%2B2.10] 55 | Comment=Activate task 2 56 | Enabled=true 57 | path=/panel/taskbar/task_2 58 | 59 | [Meta%2B3.11] 60 | Comment=Activate task 3 61 | Enabled=true 62 | path=/panel/taskbar/task_3 63 | 64 | [Meta%2B4.12] 65 | Comment=Activate task 4 66 | Enabled=true 67 | path=/panel/taskbar/task_4 68 | 69 | [Meta%2B5.13] 70 | Comment=Activate task 5 71 | Enabled=true 72 | path=/panel/taskbar/task_5 73 | 74 | [Meta%2B6.14] 75 | Comment=Activate task 6 76 | Enabled=true 77 | path=/panel/taskbar/task_6 78 | 79 | [Meta%2B7.15] 80 | Comment=Activate task 7 81 | Enabled=true 82 | path=/panel/taskbar/task_7 83 | 84 | [Meta%2B8.16] 85 | Comment=Activate task 8 86 | Enabled=true 87 | path=/panel/taskbar/task_8 88 | 89 | [Meta%2B9.17] 90 | Comment=Activate task 9 91 | Enabled=true 92 | path=/panel/taskbar/task_9 93 | 94 | [Print.18] 95 | Comment=screen shot 96 | Enabled=true 97 | Exec=lximage-qt, -s 98 | 99 | [Shift%2BControl%2BF6.19] 100 | Comment=\x2600 \x2193 101 | Enabled=true 102 | Exec=lxqt-config-brightness, -d 103 | 104 | [Shift%2BControl%2BF7.20] 105 | Comment=\x2600 \x2191 106 | Enabled=true 107 | Exec=lxqt-config-brightness, -i 108 | 109 | [XF86AudioLowerVolume.21] 110 | Comment=Decrease sound volume 111 | Enabled=true 112 | path=/panel/volume/down 113 | 114 | [XF86AudioMute.22] 115 | Comment=Mute/unmute sound volume 116 | Enabled=true 117 | path=/panel/volume/mute 118 | 119 | [XF86AudioRaiseVolume.23] 120 | Comment=Increase sound volume 121 | Enabled=true 122 | path=/panel/volume/up 123 | 124 | [XF86MonBrightnessDown.24] 125 | Comment=\x2600 \x2193 126 | Enabled=true 127 | Exec=lxqt-config-brightness, -d 128 | 129 | [XF86MonBrightnessUp.25] 130 | Comment=\x2600 \x2191 131 | Enabled=true 132 | Exec=lxqt-config-brightness, -i 133 | -------------------------------------------------------------------------------- /desktop-defaults/buster/lxqt/lxqt/lxqt-config-appearance.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | ControlGTKThemeEnabled=false 3 | __userfile__=true 4 | -------------------------------------------------------------------------------- /desktop-defaults/buster/lxqt/lxqt/lxqt-config.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | size=@Size(696 404) 3 | -------------------------------------------------------------------------------- /desktop-defaults/buster/lxqt/lxqt/lxqt-powermanagement.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | enableBatteryWatcher=false 4 | enableIdlenessWatcher=true 5 | enableLidWatcher=false 6 | runCheckLevel=1 7 | -------------------------------------------------------------------------------- /desktop-defaults/buster/lxqt/lxqt/lxqt-runner.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | -------------------------------------------------------------------------------- /desktop-defaults/buster/lxqt/lxqt/lxqt.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | icon_theme=oxygen 4 | single_click_activate=false 5 | theme=ambiance 6 | tool_button_style=ToolButtonTextBesideIcon 7 | 8 | [Qt] 9 | doubleClickInterval=400 10 | font="Sans,11,-1,5,50,0,0,0,0,0" 11 | style=Fusion 12 | wheelScrollLines=3 13 | -------------------------------------------------------------------------------- /desktop-defaults/buster/lxqt/lxqt/notifications.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | -------------------------------------------------------------------------------- /desktop-defaults/buster/lxqt/lxqt/panel.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | 4 | [clock] 5 | alignment=Right 6 | type=clock 7 | 8 | [cpuload] 9 | alignment=Right 10 | type=cpuload 11 | 12 | [mainmenu] 13 | alignment=Left 14 | type=mainmenu 15 | 16 | [mount] 17 | alignment=Right 18 | type=mount 19 | 20 | [panel1] 21 | alignment=-1 22 | animation-duration=0 23 | background-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0) 24 | background-image= 25 | desktop=0 26 | font-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0) 27 | hidable=false 28 | iconSize=22 29 | lineCount=1 30 | lockPanel=false 31 | opacity=100 32 | panelSize=32 33 | plugins=mainmenu, quicklaunch, taskbar, tray, statusnotifier, mount, volume, clock, showdesktop, cpuload 34 | position=Bottom 35 | reserve-space=true 36 | show-delay=0 37 | visible-margin=true 38 | width=100 39 | width-percent=true 40 | 41 | [quicklaunch] 42 | alignment=Left 43 | apps\1\desktop=/usr/share/applications/pcmanfm-qt.desktop 44 | apps\2\desktop=/usr/share/applications/qterminal.desktop 45 | apps\3\desktop=/usr/share/applications/featherpad.desktop 46 | apps\4\desktop=/usr/share/applications/firefox-esr.desktop 47 | apps\size=4 48 | type=quicklaunch 49 | 50 | [showdesktop] 51 | alignment=Right 52 | type=showdesktop 53 | 54 | [statusnotifier] 55 | alignment=Right 56 | type=statusnotifier 57 | 58 | [taskbar] 59 | alignment=Left 60 | type=taskbar 61 | 62 | [tray] 63 | alignment=Right 64 | type=tray 65 | 66 | [volume] 67 | alignment=Right 68 | device=0 69 | type=volume 70 | 71 | [worldclock] 72 | alignment=Right 73 | type=worldclock 74 | -------------------------------------------------------------------------------- /desktop-defaults/buster/lxqt/lxqt/power.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | -------------------------------------------------------------------------------- /desktop-defaults/buster/lxqt/lxqt/session.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | window_manager=xfwm4 4 | -------------------------------------------------------------------------------- /desktop-defaults/buster/lxqt/lxqt/windowmanagers.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | -------------------------------------------------------------------------------- /desktop-defaults/buster/lxqt/pcmanfm-qt/lxqt/settings.conf: -------------------------------------------------------------------------------- 1 | [Behavior] 2 | AutoSelectionDelay=600 3 | BookmarkOpenMethod=current_tab 4 | ConfirmDelete=true 5 | ConfirmTrash=false 6 | NoUsbTrash=false 7 | QuickExec=false 8 | SelectNewFiles=false 9 | SingleClick=false 10 | UseTrash=true 11 | 12 | [Desktop] 13 | BgColor=#000000 14 | DesktopCellMargins=@Size(3 1) 15 | DesktopIconSize=48 16 | DesktopShortcuts=@Invalid() 17 | FgColor=#ffffff 18 | Font="Sans Serif,10,-1,5,50,0,0,0,0,0" 19 | HideItems=false 20 | LastSlide= 21 | ShadowColor=#000000 22 | ShowHidden=false 23 | ShowWmMenu=false 24 | SlideShowInterval=0 25 | SortColumn=name 26 | SortFolderFirst=true 27 | SortOrder=ascending 28 | Wallpaper=/opt/scripts/images/beaglebg.jpg 29 | WallpaperDirectory= 30 | WallpaperMode=stretch 31 | WallpaperRandomize=false 32 | 33 | [FolderView] 34 | BackupAsHidden=false 35 | BigIconSize=48 36 | CustomColumnWidths=@Invalid() 37 | FolderViewCellMargins=@Size(3 3) 38 | HiddenColumns=@Invalid() 39 | Mode=icon 40 | ShadowHidden=false 41 | ShowFilter=false 42 | ShowFullNames=false 43 | ShowHidden=false 44 | SidePaneIconSize=24 45 | SmallIconSize=24 46 | SortCaseSensitive=false 47 | SortColumn=name 48 | SortFolderFirst=true 49 | SortOrder=ascending 50 | ThumbnailIconSize=128 51 | 52 | [Places] 53 | PlacesApplications=true 54 | PlacesComputer=true 55 | PlacesDesktop=true 56 | PlacesHome=true 57 | PlacesNetwork=true 58 | PlacesRoot=true 59 | PlacesTrash=true 60 | 61 | [Search] 62 | searchContentCaseInsensitive=false 63 | searchContentRegexp=true 64 | searchNameCaseInsensitive=false 65 | searchNameRegexp=true 66 | searchRecursive=false 67 | searchhHidden=false 68 | 69 | [System] 70 | Archiver=file-roller 71 | FallbackIconThemeName=oxygen 72 | OnlyUserTemplates=false 73 | SIUnit=false 74 | SuCommand=lxsudo dbus-run-session -- %s 75 | TemplateRunApp=false 76 | TemplateTypeOnce=false 77 | Terminal=qterminal 78 | 79 | [Thumbnail] 80 | MaxThumbnailFileSize=4096 81 | ShowThumbnails=true 82 | ThumbnailLocalFilesOnly=true 83 | 84 | [Volume] 85 | AutoRun=true 86 | CloseOnUnmount=false 87 | MountOnStartup=false 88 | MountRemovable=false 89 | 90 | [Window] 91 | AlwaysShowTabs=false 92 | FixedHeight=480 93 | FixedWidth=640 94 | LastWindowHeight=480 95 | LastWindowMaximized=false 96 | LastWindowWidth=640 97 | PathBarButtons=true 98 | RememberWindowSize=true 99 | ShowMenuBar=true 100 | ShowTabClose=true 101 | SidePaneMode=places 102 | SplitView=false 103 | SplitterPos=150 104 | -------------------------------------------------------------------------------- /desktop-defaults/buster/reset_lxqt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rm -rf /home/${USER}/.config/lxqt || true 4 | rm -rf /home/${USER}/.config/pcmanfm-qt || true 5 | 6 | cp -rf /opt/scripts/desktop-defaults/buster/lxqt/* /home/${USER}/.config 7 | 8 | sync 9 | -------------------------------------------------------------------------------- /desktop-defaults/jessie/lxqt/lxqt/desktop.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | -------------------------------------------------------------------------------- /desktop-defaults/jessie/lxqt/lxqt/globalkeyshortcuts.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | AllowGrabBaseKeypad=true 3 | AllowGrabBaseSpecial=false 4 | AllowGrabLocks=false 5 | AllowGrabMiscKeypad=true 6 | AllowGrabMiscSpecial=true 7 | MultipleActionsBehaviour=first 8 | 9 | [Alt%2BF1.1] 10 | Comment=Show/hide main menu 11 | Enabled=true 12 | path=/panel/mainmenu/show_hide 13 | 14 | [Alt%2BF2.2] 15 | Comment=Show/hide runner dialog 16 | Enabled=true 17 | path=/runner/show_hide_dialog 18 | 19 | [Control%2BF1.3] 20 | Comment=Switch to desktop 1 (Desktop 1) 21 | Enabled=true 22 | path=/panel/desktopswitch/desktop_1 23 | 24 | [Control%2BF10.4] 25 | Comment=Switch to desktop 10 26 | Enabled=true 27 | path=/panel/desktopswitch/desktop_10 28 | 29 | [Control%2BF11.5] 30 | Comment=Switch to desktop 11 31 | Enabled=true 32 | path=/panel/desktopswitch/desktop_11 33 | 34 | [Control%2BF12.6] 35 | Comment=Switch to desktop 12 36 | Enabled=true 37 | path=/panel/desktopswitch/desktop_12 38 | 39 | [Control%2BF2.7] 40 | Comment=Switch to desktop 2 (desktop 2) 41 | Enabled=true 42 | path=/panel/desktopswitch/desktop_2 43 | 44 | [Control%2BF3.8] 45 | Comment=Switch to desktop 3 (desktop 3) 46 | Enabled=true 47 | path=/panel/desktopswitch/desktop_3 48 | 49 | [Control%2BF4.9] 50 | Comment=Switch to desktop 4 (desktop 4) 51 | Enabled=true 52 | path=/panel/desktopswitch/desktop_4 53 | 54 | [Control%2BF5.10] 55 | Comment=Switch to desktop 5 56 | Enabled=true 57 | path=/panel/desktopswitch/desktop_5 58 | 59 | [Control%2BF6.11] 60 | Comment=Switch to desktop 6 61 | Enabled=true 62 | path=/panel/desktopswitch/desktop_6 63 | 64 | [Control%2BF7.12] 65 | Comment=Switch to desktop 7 66 | Enabled=true 67 | path=/panel/desktopswitch/desktop_7 68 | 69 | [Control%2BF8.13] 70 | Comment=Switch to desktop 8 71 | Enabled=true 72 | path=/panel/desktopswitch/desktop_8 73 | 74 | [Control%2BF9.14] 75 | Comment=Switch to desktop 9 76 | Enabled=true 77 | path=/panel/desktopswitch/desktop_9 78 | 79 | [XF86AudioLowerVolume.15] 80 | Comment=Decrease sound volume 81 | Enabled=true 82 | path=/panel/volume/down 83 | 84 | [XF86AudioMute.16] 85 | Comment=Mute/unmute sound volume 86 | Enabled=true 87 | path=/panel/volume/mute 88 | 89 | [XF86AudioRaiseVolume.17] 90 | Comment=Increase sound volume 91 | Enabled=true 92 | path=/panel/volume/up 93 | -------------------------------------------------------------------------------- /desktop-defaults/jessie/lxqt/lxqt/lxqt-runner.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | -------------------------------------------------------------------------------- /desktop-defaults/jessie/lxqt/lxqt/lxqt.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | -------------------------------------------------------------------------------- /desktop-defaults/jessie/lxqt/lxqt/notifications.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | -------------------------------------------------------------------------------- /desktop-defaults/jessie/lxqt/lxqt/panel.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | 4 | [clock] 5 | alignment=Right 6 | type=clock 7 | 8 | [cpuload] 9 | alignment=Right 10 | type=cpuload 11 | 12 | [desktopswitch] 13 | alignment=Left 14 | type=desktopswitch 15 | 16 | [mainmenu] 17 | alignment=Left 18 | type=mainmenu 19 | 20 | [mount] 21 | alignment=Right 22 | type=mount 23 | 24 | [panel1] 25 | alignment=0 26 | background-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0) 27 | background-image= 28 | desktop=0 29 | font-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0) 30 | hidable=false 31 | iconSize=22 32 | lineCount=1 33 | opacity=100 34 | panelSize=32 35 | plugins=mainmenu, desktopswitch, quicklaunch, taskbar, tray, mount, volume, clock, cpuload 36 | position=Bottom 37 | width=100 38 | width-percent=true 39 | 40 | [quicklaunch] 41 | alignment=Left 42 | apps\1\desktop=/usr/share/applications/qupzilla.desktop 43 | apps\size=1 44 | type=quicklaunch 45 | 46 | [taskbar] 47 | alignment=Left 48 | type=taskbar 49 | 50 | [tray] 51 | alignment=Right 52 | type=tray 53 | 54 | [volume] 55 | alignment=Right 56 | type=volume 57 | -------------------------------------------------------------------------------- /desktop-defaults/jessie/lxqt/lxqt/power.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | -------------------------------------------------------------------------------- /desktop-defaults/jessie/lxqt/lxqt/session.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | leave_confirmation=true 4 | window_manager=openbox 5 | 6 | [Environment] 7 | BROWSER=qupzilla 8 | GTK_CSD=0 9 | TERM=qterminal 10 | -------------------------------------------------------------------------------- /desktop-defaults/jessie/lxqt/pcmanfm-qt/lxqt/settings.conf: -------------------------------------------------------------------------------- 1 | [Behavior] 2 | AutoSelectionDelay=600 3 | BookmarkOpenMethod=current_tab 4 | ConfirmDelete=true 5 | ConfirmTrash=false 6 | NoUsbTrash=false 7 | QuickExec=false 8 | SingleClick=false 9 | UseTrash=true 10 | 11 | [Desktop] 12 | BgColor=#000000 13 | FgColor=#ffffff 14 | Font="Sans Serif,9,-1,5,50,0,0,0,0,0" 15 | ShadowColor=#000000 16 | ShowHidden=false 17 | ShowWmMenu=false 18 | SortColumn=name 19 | SortOrder=ascending 20 | Wallpaper=/opt/scripts/images/beaglebg.jpg 21 | WallpaperMode=stretch 22 | 23 | [FolderView] 24 | BackupAsHidden=false 25 | BigIconSize=48 26 | Mode=icon 27 | ShadowHidden=false 28 | ShowFilter=false 29 | ShowFullNames=false 30 | ShowHidden=false 31 | SidePaneIconSize=24 32 | SmallIconSize=24 33 | SortColumn=name 34 | SortFolderFirst=true 35 | SortOrder=ascending 36 | ThumbnailIconSize=128 37 | 38 | [System] 39 | Archiver=file-roller 40 | FallbackIconThemeName=oxygen 41 | OemplateTypeOnce=false 42 | OnlyUserTemplates=false 43 | SIUnit=false 44 | SuCommand=gksu %s 45 | TemplateRunApp=false 46 | Terminal=qterminal 47 | 48 | [Thumbnail] 49 | MaxThumbnailFileSize=4096 50 | ShowThumbnails=true 51 | ThumbnailLocalFilesOnly=true 52 | 53 | [Volume] 54 | AutoRun=true 55 | CloseOnUnmount=false 56 | MountOnStartup=false 57 | MountRemovable=false 58 | 59 | [Window] 60 | AlwaysShowTabs=true 61 | FixedHeight=480 62 | FixedWidth=640 63 | LastWindowHeight=480 64 | LastWindowMaximized=false 65 | LastWindowWidth=640 66 | RememberWindowSize=true 67 | ShowTabClose=true 68 | SidePaneMode=places 69 | SplitterPos=150 70 | -------------------------------------------------------------------------------- /desktop-defaults/jessie/reset_lxqt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rm -rf /home/${USER}/.config/lxqt || true 4 | rm -rf /home/${USER}/.config/openbox || true 5 | rm -rf /home/${USER}/.config/pcmanfm-qt || true 6 | 7 | cp -rf /opt/scripts/desktop-defaults/jessie/lxqt/* /home/${USER}/.config 8 | 9 | sync 10 | -------------------------------------------------------------------------------- /desktop-defaults/stretch/lxqt/lxqt/lxqt-config.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | size=@Size(696 404) 3 | -------------------------------------------------------------------------------- /desktop-defaults/stretch/lxqt/lxqt/lxqt-runner.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | -------------------------------------------------------------------------------- /desktop-defaults/stretch/lxqt/lxqt/lxqt.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | icon_theme=oxygen 4 | single_click_activate=false 5 | theme=ambiance 6 | tool_button_style=ToolButtonTextBesideIcon 7 | 8 | [Qt] 9 | doubleClickInterval=400 10 | font="Sans,11,-1,5,50,0,0,0,0,0" 11 | style=Fusion 12 | wheelScrollLines=3 13 | -------------------------------------------------------------------------------- /desktop-defaults/stretch/lxqt/lxqt/panel.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | panels=panel1 4 | 5 | [clock] 6 | alignment=Right 7 | type=clock 8 | 9 | [cpuload] 10 | alignment=Right 11 | type=cpuload 12 | 13 | [mainmenu] 14 | alignment=Left 15 | type=mainmenu 16 | 17 | [mount] 18 | alignment=Right 19 | type=mount 20 | 21 | [panel1] 22 | alignment=-1 23 | animation-duration=0 24 | background-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0) 25 | background-image= 26 | desktop=0 27 | font-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0) 28 | hidable=false 29 | iconSize=22 30 | lineCount=1 31 | lockPanel=false 32 | opacity=100 33 | panelSize=32 34 | plugins=mainmenu, quicklaunch, taskbar, tray, statusnotifier, mount, volume, clock, showdesktop, cpuload 35 | position=Bottom 36 | show-delay=0 37 | width=100 38 | width-percent=true 39 | 40 | [quicklaunch] 41 | alignment=Left 42 | apps\1\desktop=/usr/share/applications/chromium.desktop 43 | apps\size=1 44 | type=quicklaunch 45 | 46 | [showdesktop] 47 | alignment=Right 48 | type=showdesktop 49 | 50 | [statusnotifier] 51 | alignment=Right 52 | type=statusnotifier 53 | 54 | [taskbar] 55 | alignment=Left 56 | type=taskbar 57 | 58 | [tray] 59 | alignment=Right 60 | type=tray 61 | 62 | [volume] 63 | alignment=Right 64 | device=0 65 | type=volume 66 | -------------------------------------------------------------------------------- /desktop-defaults/stretch/lxqt/lxqt/power.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | -------------------------------------------------------------------------------- /desktop-defaults/stretch/lxqt/lxqt/session.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | __userfile__=true 3 | leave_confirmation=true 4 | window_manager=xfwm4 5 | 6 | [Environment] 7 | BROWSER=qupzilla 8 | GTK_CSD=0 9 | GTK_OVERLAY_SCROLLING=0 10 | TERM=qterminal 11 | 12 | [Font] 13 | antialias=true 14 | dpi=96 15 | hinting=true 16 | 17 | [Keyboard] 18 | beep=false 19 | delay=500 20 | interval=30 21 | 22 | [Mouse] 23 | acc_factor=20 24 | acc_threshold=10 25 | cursor_size=18 26 | cursor_theme=whiteglass 27 | left_handed=false 28 | -------------------------------------------------------------------------------- /desktop-defaults/stretch/lxqt/pcmanfm-qt/lxqt/settings.conf: -------------------------------------------------------------------------------- 1 | [Behavior] 2 | AutoSelectionDelay=600 3 | BookmarkOpenMethod=current_tab 4 | ConfirmDelete=true 5 | ConfirmTrash=false 6 | NoUsbTrash=false 7 | QuickExec=false 8 | SingleClick=false 9 | UseTrash=true 10 | 11 | [Desktop] 12 | BgColor=#000000 13 | DesktopCellMargins=@Size(3 1) 14 | DesktopIconSize=48 15 | FgColor=#ffffff 16 | Font="Sans Serif,10,-1,5,50,0,0,0,0,0" 17 | ShadowColor=#000000 18 | ShowHidden=false 19 | ShowWmMenu=false 20 | SortColumn=name 21 | SortFolderFirst=true 22 | SortOrder=ascending 23 | Wallpaper=/opt/scripts/images/beaglebg.jpg 24 | WallpaperMode=stretch 25 | 26 | [FolderView] 27 | BackupAsHidden=false 28 | BigIconSize=48 29 | FolderViewCellMargins=@Size(3 3) 30 | Mode=icon 31 | ShadowHidden=false 32 | ShowFilter=false 33 | ShowFullNames=false 34 | ShowHidden=false 35 | SidePaneIconSize=24 36 | SmallIconSize=24 37 | SortCaseSensitive=false 38 | SortColumn=name 39 | SortFolderFirst=true 40 | SortOrder=ascending 41 | ThumbnailIconSize=128 42 | 43 | [Places] 44 | PlacesApplications=true 45 | PlacesComputer=true 46 | PlacesDesktop=true 47 | PlacesHome=true 48 | PlacesNetwork=true 49 | PlacesRoot=true 50 | PlacesTrash=true 51 | 52 | [System] 53 | Archiver=file-roller 54 | FallbackIconThemeName=oxygen 55 | OnlyUserTemplates=false 56 | SIUnit=false 57 | SuCommand=lxqt-sudo %s 58 | TemplateRunApp=false 59 | TemplateTypeOnce=false 60 | Terminal=qterminal 61 | 62 | [Thumbnail] 63 | MaxThumbnailFileSize=4096 64 | ShowThumbnails=true 65 | ThumbnailLocalFilesOnly=true 66 | 67 | [Volume] 68 | AutoRun=true 69 | CloseOnUnmount=false 70 | MountOnStartup=false 71 | MountRemovable=false 72 | 73 | [Window] 74 | AlwaysShowTabs=false 75 | FixedHeight=480 76 | FixedWidth=640 77 | FullWidthTabBar=true 78 | LastWindowHeight=480 79 | LastWindowMaximized=false 80 | LastWindowWidth=640 81 | PathBarButtons=true 82 | RememberWindowSize=true 83 | ShowMenuBar=true 84 | ShowTabClose=true 85 | SidePaneMode=places 86 | SplitterPos=150 87 | -------------------------------------------------------------------------------- /desktop-defaults/stretch/reset_lxqt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rm -rf /home/${USER}/.config/lxqt || true 4 | rm -rf /home/${USER}/.config/pcmanfm-qt || true 5 | 6 | cp -rf /opt/scripts/desktop-defaults/stretch/lxqt/* /home/${USER}/.config 7 | 8 | sync 9 | -------------------------------------------------------------------------------- /device/bbai/firmware/brcmfmac43455-sdio.beagleboard.org,am5729-beagleboneai.txt: -------------------------------------------------------------------------------- 1 | #AP6255_NVRAM_V1.0_29052015 2 | 3 | NVRAMRev=$Rev: 498373 $ 4 | sromrev=11 5 | vendid=0x14e4 6 | devid=0x43ab 7 | manfid=0x2d0 8 | prodid=0x06e4 9 | macaddr=00:90:4c:c5:12:38 10 | nocrc=1 11 | boardtype=0x6e4 12 | boardrev=0x1304 13 | xtalfreq=37400 14 | #boardflags: 5GHz eTR switch by default 15 | #2.4GHz eTR switch by default 16 | #bit1 for btcoex 17 | boardflags=0x00080201 18 | boardflags2=0x40000000 19 | boardflags3=0x48200100 20 | rxgains2gelnagaina0=0 21 | rxgains2gtrisoa0=0 22 | rxgains2gtrelnabypa0=0 23 | rxgains5gelnagaina0=0 24 | rxgains5gtrisoa0=0 25 | rxgains5gtrelnabypa0=0 26 | rxchain=1 27 | txchain=1 28 | aa2g=1 29 | aa5g=1 30 | tssipos5g=1 31 | tssipos2g=1 32 | femctrl=0 33 | AvVmid_c0=0,157,1,126,1,126,1,126,1,126 34 | pa2ga0=-112,6296,-662 35 | pa2ga1=-165,3699,-515 36 | pa5ga0=-143,6016,-683,-141,6013,-678,-137,5988,-670,-136,5982,-670 37 | pa5ga1=-161,3544,-499,-166,3543,-497,-169,3569,-497,-171,3598,-498 38 | itrsw=1 39 | pdoffset2g40ma0=10 40 | pdoffset40ma0=0xaaaa 41 | pdoffset80ma0=0xaaaa 42 | extpagain5g=2 43 | extpagain2g=2 44 | tworangetssi2g=1 45 | tworangetssi5g=1 46 | # LTECX flags 47 | # WCI2 48 | ltecxmux=0 49 | ltecxpadnum=0x0504 50 | ltecxfnsel=0x22 51 | ltecxgcigpio=0x32 52 | 53 | maxp2ga0=64 54 | ofdmlrbw202gpo=0x0033 55 | dot11agofdmhrbw202gpo=0x1553 56 | mcsbw202gpo=0x99355533 57 | 58 | maxp5ga0=80,82,76,77 59 | 60 | mcsbw205glpo=0x99755000 61 | mcsbw205gmpo=0x9df55000 62 | mcsbw205ghpo=0x99855000 63 | 64 | mcsbw405glpo=0xb8555000 65 | mcsbw405gmpo=0xed955000 66 | mcsbw405ghpo=0xd9755000 67 | 68 | mcsbw805glpo=0xc8555000 69 | mcsbw805gmpo=0xe9555000 70 | mcsbw805ghpo=0xd9555000 71 | 72 | swctrlmap_2g=0x00040004,0x00020002,0x00040004,0x010a02,0x1ff 73 | swctrlmap_5g=0x00100010,0x00200020,0x00100010,0x010a02,0x2f4 74 | swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000 75 | swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000 76 | 77 | vcodivmode=1 78 | deadman_to=481500000 79 | ed_thresh2g=-54 80 | ed_thresh5g=-54 81 | 82 | muxenab=0x10 83 | -------------------------------------------------------------------------------- /device/bbai/firmware/brcmfmac43455-sdio.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bbai/firmware/brcmfmac43455-sdio.bin -------------------------------------------------------------------------------- /device/bbai/firmware/brcmfmac43455-sdio.clm_blob: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bbai/firmware/brcmfmac43455-sdio.clm_blob -------------------------------------------------------------------------------- /device/bbai/firmware/brcmfmac43455-sdio.txt: -------------------------------------------------------------------------------- 1 | #AP6255_NVRAM_V1.0_29052015 2 | 3 | NVRAMRev=$Rev: 498373 $ 4 | sromrev=11 5 | vendid=0x14e4 6 | devid=0x43ab 7 | manfid=0x2d0 8 | prodid=0x06e4 9 | macaddr=00:90:4c:c5:12:38 10 | nocrc=1 11 | boardtype=0x6e4 12 | boardrev=0x1304 13 | xtalfreq=37400 14 | #boardflags: 5GHz eTR switch by default 15 | #2.4GHz eTR switch by default 16 | #bit1 for btcoex 17 | boardflags=0x00080201 18 | boardflags2=0x40000000 19 | boardflags3=0x48200100 20 | rxgains2gelnagaina0=0 21 | rxgains2gtrisoa0=0 22 | rxgains2gtrelnabypa0=0 23 | rxgains5gelnagaina0=0 24 | rxgains5gtrisoa0=0 25 | rxgains5gtrelnabypa0=0 26 | rxchain=1 27 | txchain=1 28 | aa2g=1 29 | aa5g=1 30 | tssipos5g=1 31 | tssipos2g=1 32 | femctrl=0 33 | AvVmid_c0=0,157,1,126,1,126,1,126,1,126 34 | pa2ga0=-112,6296,-662 35 | pa2ga1=-165,3699,-515 36 | pa5ga0=-143,6016,-683,-141,6013,-678,-137,5988,-670,-136,5982,-670 37 | pa5ga1=-161,3544,-499,-166,3543,-497,-169,3569,-497,-171,3598,-498 38 | itrsw=1 39 | pdoffset2g40ma0=10 40 | pdoffset40ma0=0xaaaa 41 | pdoffset80ma0=0xaaaa 42 | extpagain5g=2 43 | extpagain2g=2 44 | tworangetssi2g=1 45 | tworangetssi5g=1 46 | # LTECX flags 47 | # WCI2 48 | ltecxmux=0 49 | ltecxpadnum=0x0504 50 | ltecxfnsel=0x22 51 | ltecxgcigpio=0x32 52 | 53 | maxp2ga0=64 54 | ofdmlrbw202gpo=0x0033 55 | dot11agofdmhrbw202gpo=0x1553 56 | mcsbw202gpo=0x99355533 57 | 58 | maxp5ga0=80,82,76,77 59 | 60 | mcsbw205glpo=0x99755000 61 | mcsbw205gmpo=0x9df55000 62 | mcsbw205ghpo=0x99855000 63 | 64 | mcsbw405glpo=0xb8555000 65 | mcsbw405gmpo=0xed955000 66 | mcsbw405ghpo=0xd9755000 67 | 68 | mcsbw805glpo=0xc8555000 69 | mcsbw805gmpo=0xe9555000 70 | mcsbw805ghpo=0xd9555000 71 | 72 | swctrlmap_2g=0x00040004,0x00020002,0x00040004,0x010a02,0x1ff 73 | swctrlmap_5g=0x00100010,0x00200020,0x00100010,0x010a02,0x2f4 74 | swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000 75 | swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000 76 | 77 | vcodivmode=1 78 | deadman_to=481500000 79 | ed_thresh2g=-54 80 | ed_thresh5g=-54 81 | 82 | muxenab=0x10 83 | -------------------------------------------------------------------------------- /device/bbai/firmware/copy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | sudo cp -v ./*.bin /lib/firmware/brcm/ ;\ 4 | sudo cp -v ./*.txt /lib/firmware/brcm/ ;\ 5 | sudo cp -v ./*.clm_blob /lib/firmware/brcm/ ;\ 6 | sudo update-initramfs -uk `uname -r` 7 | -------------------------------------------------------------------------------- /device/bbai/firmware/fw_bcm43455c0_ag.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bbai/firmware/fw_bcm43455c0_ag.bin -------------------------------------------------------------------------------- /device/bbai64/BBAI64-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bbai64/BBAI64-eeprom.dump -------------------------------------------------------------------------------- /device/blue/enable_balance.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if ! id | grep -q root; then 4 | echo "must be run as root" 5 | exit 6 | fi 7 | 8 | echo "**********************************************" 9 | ln -s -f /usr/bin/rc_balance /etc/roboticscape/link_to_startup_program 10 | echo "systemctl daemon-reload" 11 | systemctl daemon-reload 12 | echo "Enabling roboticscape Service" 13 | systemctl enable roboticscape 14 | echo "Enabling rc_battery_monitor Service" 15 | systemctl enable rc_battery_monitor 16 | # try to start battery monitor, but ignore errors as this may not work 17 | echo "Starting rc_battery_monitor Service" 18 | set +e 19 | systemctl start rc_battery_monitor 20 | 21 | echo "Rebooting..." 22 | reboot 23 | -------------------------------------------------------------------------------- /device/bone/A335-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/A335-eeprom.dump -------------------------------------------------------------------------------- /device/bone/abbbi-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/abbbi-eeprom.dump -------------------------------------------------------------------------------- /device/bone/bbb-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/bbb-eeprom.dump -------------------------------------------------------------------------------- /device/bone/bbbl-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/bbbl-eeprom.dump -------------------------------------------------------------------------------- /device/bone/bbbw-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/bbbw-eeprom.dump -------------------------------------------------------------------------------- /device/bone/bbg-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/bbg-eeprom.dump -------------------------------------------------------------------------------- /device/bone/bbgw-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/bbgw-eeprom.dump -------------------------------------------------------------------------------- /device/bone/bbgw/generate.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | wlconf -o /lib/firmware/ti-connectivity/wl18xx-conf.bin -I WL1835MOD_INI_C2PC.ini 4 | -------------------------------------------------------------------------------- /device/bone/bbgw/wl18xx-conf.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/bbgw/wl18xx-conf.bin -------------------------------------------------------------------------------- /device/bone/blgc-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/blgc-eeprom.dump -------------------------------------------------------------------------------- /device/bone/bp00-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/bp00-eeprom.dump -------------------------------------------------------------------------------- /device/bone/capes/BB-BEAGLELOGIC/beaglelogic-pru0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/BB-BEAGLELOGIC/beaglelogic-pru0 -------------------------------------------------------------------------------- /device/bone/capes/BB-BEAGLELOGIC/beaglelogic-pru1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/BB-BEAGLELOGIC/beaglelogic-pru1 -------------------------------------------------------------------------------- /device/bone/capes/BB-CAPE-DISP-CT4/eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/BB-CAPE-DISP-CT4/eeprom.dump -------------------------------------------------------------------------------- /device/bone/capes/BeagleBoard.org/A1Fan_Cape.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/BeagleBoard.org/A1Fan_Cape.dump -------------------------------------------------------------------------------- /device/bone/capes/BeagleBoard.org/BC02.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/BeagleBoard.org/BC02.dump -------------------------------------------------------------------------------- /device/bone/capes/BeagleBoard.org/BC03.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/BeagleBoard.org/BC03.dump -------------------------------------------------------------------------------- /device/bone/capes/BeagleBoard.org/BC07.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/BeagleBoard.org/BC07.dump -------------------------------------------------------------------------------- /device/bone/capes/BeagleBoard.org/example.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/BeagleBoard.org/example.dump -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/CmdHandler.py: -------------------------------------------------------------------------------- 1 | # DLPDLCR2000EVM Example Test Script Suite 2 | # 3 | # Implements basic functionality of DLP LightCrafter Display 2000 EVM 4 | # using included python library 5 | # 6 | # Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ 7 | # 8 | # 9 | # Redistribution and use in source and binary forms, with or without 10 | # modification, are permitted provided that the following conditions 11 | # are met: 12 | # 13 | # Redistributions of source code must retain the above copyright 14 | # notice, this list of conditions and the following disclaimer. 15 | # 16 | # Redistributions in binary form must reproduce the above copyright 17 | # notice, this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the 19 | # distribution. 20 | # 21 | # Neither the name of Texas Instruments Incorporated nor the names of 22 | # its contributors may be used to endorse or promote products derived 23 | # from this software without specific prior written permission. 24 | # 25 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 28 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 29 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | 37 | ###################################################################################### 38 | # This function will verify the device by checking software version, status, temperature, 39 | # communication status, etc. 40 | ###################################################################################### 41 | import logging 42 | from control import * 43 | import time,datetime 44 | from Constants import * 45 | 46 | source_defs = [ 47 | (DPP2607_Read_EmbeddedSoftwareVersion,(),"Command Handle test - Read Embedded Software", "Do you get the value (patch=3, minor=6, major=1)?"), 48 | (DPP2607_Read_SystemStatus,(),"Command Handle test - Read System Status", "Do you get the status Yes/No/Stop (StatInit,StatFlash, StatPAD, StatLED, StatBIST) ?"), 49 | (DPP2607_Read_DeviceStatus,(),"Command Handle test - Read Device Status", "Do you get the device status? (DevID,DevFlashStatus,DevInitStatus,DevLEDStatus)"), 50 | (DPP2607_Read_CommunicationStatus,(),"Command Handle test - Read Communication Status", "Do you get the communication status? "), 51 | ] 52 | 53 | def main(task=None): 54 | Test_name = 'Command Handle Test' 55 | #Filepath_n, 56 | 57 | # setup the Test name 58 | datalog = DataLog(LogDir, Test_name) 59 | 60 | # general setup 61 | logging.getLogger().setLevel(logging.ERROR) 62 | DPP2607_Open() 63 | DPP2607_SetSlaveAddr(SlaveAddr) 64 | DPP2607_SetIODebug(IODebug) 65 | 66 | try: 67 | callTable(Test_name,datalog,source_defs); 68 | 69 | except Exception: 70 | print "Test failed Exception" 71 | datalogConstants(datalog) 72 | datalog.add_col('Test name', Test_name) 73 | datalog.add_col('End Time',' '+str(datetime.datetime.now())) 74 | datalog.add_col('Result', "Test Fail EXCEPTION") 75 | datalog.add_col('P/F Result', "Fail") 76 | datalog.log() 77 | 78 | finally: 79 | # cleanup 80 | DPP2607_Close() 81 | datalog.close() 82 | 83 | 84 | if __name__ == "__main__": 85 | main() 86 | 87 | 88 | -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/ExtProjOnOff.py: -------------------------------------------------------------------------------- 1 | 2 | # DLPDLCR2000EVM Example Test Script Suite 3 | # 4 | # Implements basic functionality of DLP LightCrafter Display 2000 EVM 5 | # using included python library 6 | # 7 | # Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ 8 | # 9 | # 10 | # Redistribution and use in source and binary forms, with or without 11 | # modification, are permitted provided that the following conditions 12 | # are met: 13 | # 14 | # Redistributions of source code must retain the above copyright 15 | # notice, this list of conditions and the following disclaimer. 16 | # 17 | # Redistributions in binary form must reproduce the above copyright 18 | # notice, this list of conditions and the following disclaimer in the 19 | # documentation and/or other materials provided with the 20 | # distribution. 21 | # 22 | # Neither the name of Texas Instruments Incorporated nor the names of 23 | # its contributors may be used to endorse or promote products derived 24 | # from this software without specific prior written permission. 25 | # 26 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 32 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 33 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 34 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 35 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 36 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | 38 | ###################################################################################### 39 | # This function will test the external proj on/off control through GPIO on BBB. This function should be 40 | # called under BBB. 41 | # Assume the system perform the following setup as ROOT when system start 42 | # echo 48 >/sys/class/gpio/export 43 | # echo out >/sys/class/gpio/gpio48/direction 44 | ############################################################################################################################################################################ 45 | import logging 46 | from control import * 47 | import time,datetime 48 | from Constants import * 49 | 50 | source_defs = [ 51 | (ExtProjOnOff,(1,),"External Proj On/Off","Does the project turn on? (Pass/Fail/Stop)"), 52 | (ExtProjOnOff,(0,),"External Proj On/Off","Does the project turn off? (Pass/Fail/Stop)"), 53 | (ExtProjOnOff,(1,),"External Proj On/Off","Does the project turn on? (Pass/Fail/Stop)"), 54 | ] 55 | 56 | def main(task=None): 57 | Test_name = 'External Proj On Off Test' 58 | #Filepath_n, 59 | 60 | # setup the Test name 61 | datalog = DataLog(LogDir, Test_name) 62 | 63 | # general setup 64 | logging.getLogger().setLevel(logging.ERROR) 65 | DPP2607_Open() 66 | DPP2607_SetSlaveAddr(SlaveAddr) 67 | DPP2607_SetIODebug(IODebug) 68 | 69 | print "make sure gpio setup correct:" 70 | print "echo 48 >/sys/class/gpio/export" 71 | print "echo out >/sys/class/gpio/gpio48/direction" 72 | time.sleep(5) 73 | 74 | try: 75 | callTable(Test_name,datalog,source_defs); 76 | 77 | except Exception: 78 | print "Test failed Exception" 79 | datalogConstants(datalog) 80 | datalog.add_col('Test name', Test_name) 81 | datalog.add_col('End Time',' '+str(datetime.datetime.now())) 82 | datalog.add_col('Result', "Test Fail EXCEPTION") 83 | datalog.add_col('P/F Result', "Fail") 84 | datalog.log() 85 | 86 | finally: 87 | # cleanup 88 | DPP2607_Close() 89 | datalog.close() 90 | 91 | 92 | if __name__ == "__main__": 93 | main() 94 | 95 | 96 | -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/LEDSet.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | # DLPDLCR2000EVM Example Test Script Suite 4 | # 5 | # Implements basic functionality of DLP LightCrafter Display 2000 EVM 6 | # using included python library 7 | # 8 | # Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ 9 | # 10 | # 11 | # Redistribution and use in source and binary forms, with or without 12 | # modification, are permitted provided that the following conditions 13 | # are met: 14 | # 15 | # Redistributions of source code must retain the above copyright 16 | # notice, this list of conditions and the following disclaimer. 17 | # 18 | # Redistributions in binary form must reproduce the above copyright 19 | # notice, this list of conditions and the following disclaimer in the 20 | # documentation and/or other materials provided with the 21 | # distribution. 22 | # 23 | # Neither the name of Texas Instruments Incorporated nor the names of 24 | # its contributors may be used to endorse or promote products derived 25 | # from this software without specific prior written permission. 26 | # 27 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | 39 | 40 | ###################################################################################### 41 | # This function will set the LED brigtness 42 | ###################################################################################### 43 | import logging 44 | from control import * 45 | import time,datetime 46 | from Constants import * 47 | from sys import * 48 | 49 | def main(task=None): 50 | Test_name = 'LEDTest' 51 | #Filepath_n, 52 | 53 | # setup the Test name 54 | datalog = DataLog(LogDir, Test_name) 55 | 56 | # general setup 57 | logging.getLogger().setLevel(logging.ERROR) 58 | DPP2607_Open() 59 | DPP2607_SetSlaveAddr(SlaveAddr) 60 | DPP2607_SetIODebug(IODebug) 61 | 62 | if (len(argv)==4): 63 | DPP2607_Write_LedCurrentRed(int(argv[1])) 64 | DPP2607_Write_LedCurrentGreen(int(argv[2])) 65 | DPP2607_Write_LedCurrentBlue(int(argv[3])) 66 | DPP2607_Write_PropagateLedCurrents(1) 67 | 68 | # cleanup 69 | DPP2607_Close() 70 | datalog.close() 71 | 72 | 73 | if __name__ == "__main__": 74 | main() 75 | 76 | 77 | -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/MplayerTest.py: -------------------------------------------------------------------------------- 1 | # DLPDLCR2000EVM Example Test Script Suite 2 | # 3 | # Implements basic functionality of DLP LightCrafter Display 2000 EVM 4 | # using included python library 5 | # 6 | # Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ 7 | # 8 | # 9 | # Redistribution and use in source and binary forms, with or without 10 | # modification, are permitted provided that the following conditions 11 | # are met: 12 | # 13 | # Redistributions of source code must retain the above copyright 14 | # notice, this list of conditions and the following disclaimer. 15 | # 16 | # Redistributions in binary form must reproduce the above copyright 17 | # notice, this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the 19 | # distribution. 20 | # 21 | # Neither the name of Texas Instruments Incorporated nor the names of 22 | # its contributors may be used to endorse or promote products derived 23 | # from this software without specific prior written permission. 24 | # 25 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 28 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 29 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | 37 | ###################################################################################### 38 | #This function will play the Video on the display :0 such this function should be executed under BBB 39 | ###################################################################################### 40 | import logging 41 | from control import * 42 | import time,datetime 43 | from Constants import * 44 | 45 | source_defs = [ 46 | (DPP2607_Write_SystemReset,(),"",""), 47 | (time.sleep,(1,),"",""), 48 | (DPP2607_Write_VideoSourceSelection,(SourceSel.EXTERNAL_VIDEO_PARALLEL_I_F_,),"",""), 49 | (DPP2607_Write_VideoPixelFormat,(RGB888_24_BIT,),"",""), 50 | (DPP2607_Write_VideoResolution,(Resolution.NHD_LANDSCAPE,),"",""), 51 | (Mplayer,("nhd_test.mp4",),"play video","Does the video play on the screen? (Pass/Fail/Stop)"), 52 | ] 53 | 54 | def main(task=None): 55 | Test_name = 'Video Play Test' 56 | #Filepath_n, 57 | 58 | # setup the Test name 59 | datalog = DataLog(LogDir, Test_name) 60 | 61 | # general setup 62 | logging.getLogger().setLevel(logging.ERROR) 63 | DPP2607_Open() 64 | DPP2607_SetSlaveAddr(SlaveAddr) 65 | DPP2607_SetIODebug(IODebug) 66 | 67 | print "Make sure the display port is set. For example export DISPLAY=:0 \n" 68 | time.sleep(4) 69 | 70 | try: 71 | callTable(Test_name,datalog,source_defs); 72 | 73 | except Exception: 74 | print "Test failed Exception" 75 | datalogConstants(datalog) 76 | datalog.add_col('Test name', Test_name) 77 | datalog.add_col('End Time',' '+str(datetime.datetime.now())) 78 | datalog.add_col('Result', "Test Fail EXCEPTION") 79 | datalog.add_col('P/F Result', "Fail") 80 | datalog.log() 81 | 82 | finally: 83 | # cleanup 84 | DPP2607_Close() 85 | datalog.close() 86 | 87 | 88 | if __name__ == "__main__": 89 | main() 90 | 91 | 92 | -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/Park.py: -------------------------------------------------------------------------------- 1 | # DLPDLCR2000EVM Example Test Script Suite 2 | # 3 | # Implements basic functionality of DLP LightCrafter Display 2000 EVM 4 | # using included python library 5 | # 6 | # Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ 7 | # 8 | # 9 | # Redistribution and use in source and binary forms, with or without 10 | # modification, are permitted provided that the following conditions 11 | # are met: 12 | # 13 | # Redistributions of source code must retain the above copyright 14 | # notice, this list of conditions and the following disclaimer. 15 | # 16 | # Redistributions in binary form must reproduce the above copyright 17 | # notice, this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the 19 | # distribution. 20 | # 21 | # Neither the name of Texas Instruments Incorporated nor the names of 22 | # its contributors may be used to endorse or promote products derived 23 | # from this software without specific prior written permission. 24 | # 25 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 28 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 29 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | 37 | ###################################################################################### 38 | # This function will test the DMD park 39 | ###################################################################################### 40 | import logging 41 | from control import * 42 | import time,datetime 43 | from Constants import * 44 | 45 | source_defs = [ 46 | (DPP2607_Write_VideoSourceSelection,(SourceSel.EXTERNAL_VIDEO_PARALLEL_I_F_,),"",""), 47 | (DPP2607_Write_VideoResolution,(Resolution.NHD_LANDSCAPE,),"",""), #640x360 48 | (DPP2607_Write_VideoPixelFormat,(RGB888_24_BIT,),"",""), 49 | (DPP2607_Write_DisplayCurtainControl,(ENABLED,DMDCurtainColor.WHITE),"",""), 50 | (DPP2607_Write_DmdPark,(PARK_THE_DMD,),"DMD PARK Test","Does the display disappear? (Pass/Fail/Stop)"), 51 | (DPP2607_Write_DmdPark,(UNPARK_THE_DMD,),"DMD PARK Test","Does the display appear? (Pass/Fail/Stop)"), 52 | ] 53 | 54 | def main(task=None): 55 | Test_name = 'DMD Park Test' 56 | #Filepath_n, 57 | 58 | # setup the Test name 59 | datalog = DataLog('.', Test_name) 60 | 61 | # general setup 62 | logging.getLogger().setLevel(logging.ERROR) 63 | DPP2607_Open() 64 | DPP2607_SetSlaveAddr(SlaveAddr) 65 | DPP2607_SetIODebug(IODebug) 66 | 67 | try: 68 | callTable(Test_name,datalog,source_defs); 69 | 70 | except Exception: 71 | print "Test failed Exception" 72 | datalogConstants(datalog) 73 | datalog.add_col('Test name', Test_name) 74 | datalog.add_col('End Time',' '+str(datetime.datetime.now())) 75 | datalog.add_col('Result', "Test Fail EXCEPTION") 76 | datalog.add_col('P/F Result', "Fail") 77 | datalog.log() 78 | 79 | finally: 80 | # cleanup 81 | DPP2607_Close() 82 | datalog.close() 83 | 84 | 85 | if __name__ == "__main__": 86 | main() 87 | 88 | 89 | -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/ProjCntl.py: -------------------------------------------------------------------------------- 1 | # DLPDLCR2000EVM Example Test Script Suite 2 | # 3 | # Implements basic functionality of DLP LightCrafter Display 2000 EVM 4 | # using included python library 5 | # 6 | # Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ 7 | # 8 | # 9 | # Redistribution and use in source and binary forms, with or without 10 | # modification, are permitted provided that the following conditions 11 | # are met: 12 | # 13 | # Redistributions of source code must retain the above copyright 14 | # notice, this list of conditions and the following disclaimer. 15 | # 16 | # Redistributions in binary form must reproduce the above copyright 17 | # notice, this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the 19 | # distribution. 20 | # 21 | # Neither the name of Texas Instruments Incorporated nor the names of 22 | # its contributors may be used to endorse or promote products derived 23 | # from this software without specific prior written permission. 24 | # 25 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 28 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 29 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | 37 | ###################################################################################### 38 | # This function will verify the device reset correct by checking the splash display 39 | # and the software version. 40 | ###################################################################################### 41 | import logging 42 | from control import * 43 | import time,datetime 44 | from Constants import * 45 | 46 | source_defs = [ 47 | (DPP2607_Write_SystemReset,(),"System Reset Test","Does the System reset (should display the splash screen)? (Pass/Fail/Stop)"), 48 | (DPP2607_Read_EmbeddedSoftwareVersion,(),"Read Embedded Software", "Do you get the value (patch=3, minor=6, major=1)?"), 49 | ] 50 | 51 | def fun0123(fun,cnt,p1,p2,p3): 52 | if (cnt==0): 53 | return fun() 54 | elif (cnt==1): 55 | return fun(p1) 56 | elif (cnt==2): 57 | return fun(p1,p2) 58 | elif (cnt==3): 59 | return fun(p1,p2,p3) 60 | 61 | def main(task=None): 62 | Test_name = 'Projector Control Test' 63 | #Filepath_n, 64 | 65 | # setup the Test name 66 | datalog = DataLog(LogDir, Test_name) 67 | 68 | # general setup 69 | logging.getLogger().setLevel(logging.ERROR) 70 | DPP2607_Open() 71 | DPP2607_SetSlaveAddr(SlaveAddr) 72 | DPP2607_SetIODebug(IODebug) 73 | 74 | try: 75 | callTable(Test_name,datalog,source_defs); 76 | 77 | except Exception: 78 | print "Test failed Exception" 79 | datalogConstants(datalog) 80 | datalog.add_col('Test name', Test_name) 81 | datalog.add_col('End Time',' '+str(datetime.datetime.now())) 82 | datalog.add_col('Result', "Test Fail EXCEPTION") 83 | datalog.add_col('P/F Result', "Fail") 84 | datalog.log() 85 | 86 | finally: 87 | # cleanup 88 | DPP2607_Close() 89 | datalog.close() 90 | 91 | 92 | if __name__ == "__main__": 93 | main() 94 | 95 | 96 | -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/README.txt: -------------------------------------------------------------------------------- 1 | # DLPDLCR2000EVM Example Test Script Suite 2 | # 3 | # Implements basic functionality of DLP LightCrafter Display 2000 EVM 4 | # using included python library 5 | # 6 | # Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ 7 | # 8 | # 9 | # Redistribution and use in source and binary forms, with or without 10 | # modification, are permitted provided that the following conditions 11 | # are met: 12 | # 13 | # Redistributions of source code must retain the above copyright 14 | # notice, this list of conditions and the following disclaimer. 15 | # 16 | # Redistributions in binary form must reproduce the above copyright 17 | # notice, this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the 19 | # distribution. 20 | # 21 | # Neither the name of Texas Instruments Incorporated nor the names of 22 | # its contributors may be used to endorse or promote products derived 23 | # from this software without specific prior written permission. 24 | # 25 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 28 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 29 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | 37 | Use of the provided Python scripts requires the accompanying library: 38 | 39 | dlp_lightcrafter-1.0.19.tar 40 | 41 | To install on BeagleBone Black, do: 42 | 43 | $ tar -xvf dlp_lightcrafter-1.0.19.tar.gz 44 | $ cd dlp_lightcrafter-1.0.19 45 | $ sudo python setup.py install 46 | 47 | From there, execute individual python scripts to initiate tests for the EVM. 48 | -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/ReadEEPROMBBB.py: -------------------------------------------------------------------------------- 1 | # DLPDLCR2000EVM Example Test Script Suite 2 | # 3 | # Implements basic functionality of DLP LightCrafter Display 2000 EVM 4 | # using included python library 5 | # 6 | # Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ 7 | # 8 | # 9 | # Redistribution and use in source and binary forms, with or without 10 | # modification, are permitted provided that the following conditions 11 | # are met: 12 | # 13 | # Redistributions of source code must retain the above copyright 14 | # notice, this list of conditions and the following disclaimer. 15 | # 16 | # Redistributions in binary form must reproduce the above copyright 17 | # notice, this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the 19 | # distribution. 20 | # 21 | # Neither the name of Texas Instruments Incorporated nor the names of 22 | # its contributors may be used to endorse or promote products derived 23 | # from this software without specific prior written permission. 24 | # 25 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 28 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 29 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | 37 | ###################################################################################### 38 | # This function will read the CAPE EEPROM 39 | ###################################################################################### 40 | import logging 41 | from control import * 42 | import time,datetime 43 | from Constants import * 44 | 45 | def read_eeprom(bus, slave_addr, mem_addr, length): 46 | with open('/sys/bus/i2c/devices/%01d-00%02d/eeprom' % (bus, slave_addr), 'r') as f: 47 | f.seek(mem_addr) 48 | payload = f.read(length) 49 | plist = list(payload) 50 | log(DEBUG, 'EEPROM Value %r', plist) 51 | return plist 52 | 53 | source_defs = [ 54 | (read_eeprom,(2,57,0,4),"Data - Read EEPROM", "Do you get the value?"), 55 | (read_eeprom,(2,57,4,4),"Data - Read EEPROM", "Do you get the value?"), 56 | (read_eeprom,(2,57,8,4),"Data - Read EEPROM", "Do you get the value?"), 57 | (read_eeprom,(2,57,12,4),"Data - Read EEPROM", "Do you get the value?"), 58 | ] 59 | 60 | def main(task=None): 61 | Test_name = 'Read Cape EEPROM' 62 | #Filepath_n, 63 | 64 | # setup the Test name 65 | datalog = DataLog(LogDir, Test_name) 66 | 67 | print "\n********** Make sure have permission to /sys/bus/i2c/devices/2-0057/eeprom **********\n" 68 | time.sleep(4) 69 | # general setup 70 | logging.getLogger().setLevel(logging.ERROR) 71 | 72 | try: 73 | callTable(Test_name,datalog,source_defs); 74 | 75 | except Exception: 76 | print "Test failed Exception" 77 | datalogConstants(datalog) 78 | datalog.add_col('Test name', Test_name) 79 | datalog.add_col('End Time',' '+str(datetime.datetime.now())) 80 | datalog.add_col('Result', "Test Fail EXCEPTION") 81 | datalog.add_col('P/F Result', "Fail") 82 | datalog.log() 83 | 84 | finally: 85 | # cleanup 86 | return 87 | 88 | 89 | if __name__ == "__main__": 90 | main() 91 | 92 | -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/SystemReset.py: -------------------------------------------------------------------------------- 1 | # DLPDLCR2000EVM Example Test Script Suite 2 | # 3 | # Implements basic functionality of DLP LightCrafter Display 2000 EVM 4 | # using included python library 5 | # 6 | # Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ 7 | # 8 | # 9 | # Redistribution and use in source and binary forms, with or without 10 | # modification, are permitted provided that the following conditions 11 | # are met: 12 | # 13 | # Redistributions of source code must retain the above copyright 14 | # notice, this list of conditions and the following disclaimer. 15 | # 16 | # Redistributions in binary form must reproduce the above copyright 17 | # notice, this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the 19 | # distribution. 20 | # 21 | # Neither the name of Texas Instruments Incorporated nor the names of 22 | # its contributors may be used to endorse or promote products derived 23 | # from this software without specific prior written permission. 24 | # 25 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 28 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 29 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | 37 | ###################################################################################### 38 | # This function will perform system reset 39 | ###################################################################################### 40 | import logging 41 | from control import * 42 | import time,datetime 43 | from Constants import * 44 | 45 | 46 | source_defs = [ 47 | (DPP2607_Write_SystemReset,(),"System Reset Test","Does the System reset (should display the splash screen)? (Pass/Fail/Stop)"), 48 | ] 49 | 50 | def main(task=None): 51 | Test_name = 'System Reset Test' 52 | #Filepath_n, 53 | 54 | # setup the Test name 55 | datalog = DataLog(LogDir, Test_name) 56 | 57 | # general setup 58 | logging.getLogger().setLevel(logging.DEBUG) 59 | DPP2607_Open() 60 | DPP2607_SetSlaveAddr(SlaveAddr) 61 | DPP2607_SetIODebug(True) 62 | 63 | try: 64 | callTable(Test_name,datalog,source_defs); 65 | 66 | except Exception: 67 | print "Test failed Exception" 68 | datalogConstants(datalog) 69 | datalog.add_col('Test name', Test_name) 70 | datalog.add_col('End Time',' '+str(datetime.datetime.now())) 71 | datalog.add_col('Result', "Test Fail EXCEPTION") 72 | datalog.add_col('P/F Result', "Fail") 73 | datalog.log() 74 | 75 | finally: 76 | # cleanup 77 | DPP2607_Close() 78 | datalog.close() 79 | 80 | 81 | if __name__ == "__main__": 82 | main() 83 | 84 | 85 | -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/dlp_lightcrafter-1.0.19.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/DLPDLCR2000/dlp_lightcrafter-1.0.19.tar.gz -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/DLPDLCR2000/eeprom.dump -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/nhd_test.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/DLPDLCR2000/nhd_test.mp4 -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/structured_light/Makefile: -------------------------------------------------------------------------------- 1 | # DLPDLCR2000EVM Example Test Script Suite 2 | # Implements basic structured light functionality of the DLP LightCrafter 3 | # Display 2000 EVM using the provided code 4 | # 5 | # Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ 6 | # 7 | # 8 | # Redistribution and use in source and binary forms, with or without 9 | # modification, are permitted provided that the following conditions 10 | # are met: 11 | # 12 | # Redistributions of source code must retain the above copyright 13 | # notice, this list of conditions and the following disclaimer. 14 | # 15 | # Redistributions in binary form must reproduce the above copyright 16 | # notice, this list of conditions and the following disclaimer in the 17 | # documentation and/or other materials provided with the 18 | # distribution. 19 | # 20 | # Neither the name of Texas Instruments Incorporated nor the names of 21 | # its contributors may be used to endorse or promote products derived 22 | # from this software without specific prior written permission. 23 | # 24 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 25 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 26 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 27 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 28 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 29 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 30 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 31 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 32 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 34 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 35 | 36 | 37 | TARGET = pattern_disp 38 | CC=gcc 39 | CFLAGS=-O3 40 | DEPS = open_bmp.h display_core.h display_app.h 41 | OBJ = open_bmp.c display_core.c display_app.c 42 | 43 | %.o: %.c $(DEPS) 44 | $(CC) -c -o $@ $< $(CFLAGS) 45 | 46 | 47 | all: $(OBJ) 48 | gcc -o $(TARGET) $^ $(CFLAGS) 49 | 50 | clean: 51 | -rm -f *.o 52 | -rm -f $(TARGET) -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/structured_light/README.md: -------------------------------------------------------------------------------- 1 | # bbb_structured_light 2 | 3 | This is an application that enables the BeagleBone Black to display a series of images on the TI DLPDLCR2000EVM. It is designed to enable structured light applications such as 3D scanning. It aims to provide an accurate display of images on the LCR2000, display the images at user configurable framerates, and provide input and output trigger for camera synchronization. It will display .bmp files that reside in the current program directory in alphabetical order by file name. Users are encouraged to adapt the code to their own use while following the license at the top of the source code files. 4 | 5 | ### to run 6 | ``` bassh 7 | make # first time you run the program 8 | ./pattern_disp [options] framerate repetitions 9 | ``` 10 | 11 | ### program structure 12 | - display_app: handles command line arguments and the main display loop that loads images and synchronizes triggers 13 | - display_core: core functionality such as setting up triggers, clearing the screen, running test patterns, etc. 14 | - open_bmp: code related to opening and reading the user provided bitmap images 15 | -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/structured_light/display_app.h: -------------------------------------------------------------------------------- 1 | /* 2 | DLPDLCR2000EVM Example Test Script Suite 3 | Implements basic structured light functionality of the DLP LightCrafter 4 | Display 2000 EVM using the provided code 5 | 6 | Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/ 7 | 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions 11 | are met: 12 | 13 | Redistributions of source code must retain the above copyright 14 | notice, this list of conditions and the following disclaimer. 15 | 16 | Redistributions in binary form must reproduce the above copyright 17 | notice, this list of conditions and the following disclaimer in the 18 | documentation and/or other materials provided with the 19 | distribution. 20 | 21 | Neither the name of Texas Instruments Incorporated nor the names of 22 | its contributors may be used to endorse or promote products derived 23 | from this software without specific prior written permission. 24 | 25 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 28 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 29 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | */ 37 | 38 | #include "display_core.h" 39 | 40 | #define DEBUG 0 41 | #define DEBUG_TIME 0 42 | #define EXTRA_TIME 3500 43 | #define GPIO_OUT "49" 44 | #define GPIO_IN "115" 45 | 46 | int display_images(char **image_names, int num_images, uint8_t* fbp, uint8_t* bbp, struct fb_var_screeninfo* var_info, struct fb_fix_screeninfo* fix_info, int delay, int repeat, long screensize, int screen_persist, int trig_in); 47 | int compar (const void * a, const void * b); -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/structured_light/display_core.h: -------------------------------------------------------------------------------- 1 | /* 2 | DLPDLCR2000EVM Example Test Script Suite 3 | Implements basic structured light functionality of the DLP LightCrafter 4 | Display 2000 EVM using the provided code 5 | 6 | Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/ 7 | 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions 11 | are met: 12 | 13 | Redistributions of source code must retain the above copyright 14 | notice, this list of conditions and the following disclaimer. 15 | 16 | Redistributions in binary form must reproduce the above copyright 17 | notice, this list of conditions and the following disclaimer in the 18 | documentation and/or other materials provided with the 19 | distribution. 20 | 21 | Neither the name of Texas Instruments Incorporated nor the names of 22 | its contributors may be used to endorse or promote products derived 23 | from this software without specific prior written permission. 24 | 25 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 28 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 29 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | */ 37 | 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | #include 50 | 51 | int setup_fb(struct fb_fix_screeninfo *fix_info, struct fb_var_screeninfo *var_info, int *fb, long *screensize, uint8_t **fbp, uint8_t **buffer, int video_mode); 52 | int setup_GPIO(); 53 | int cleanup(int fb, uint8_t *fbp, uint8_t *buffer, long screensize, int restart_x, int video_mode, char **image_names); 54 | int clear_screen(uint8_t* fbp, uint8_t* bbp, struct fb_var_screeninfo* var_info, struct fb_fix_screeninfo* fix_info, long screensize); 55 | void print_fix_info(struct fb_fix_screeninfo fix_info); 56 | void print_var_info(struct fb_var_screeninfo var_info); 57 | inline uint32_t pixel_color(uint8_t r, uint8_t g, uint8_t b, struct fb_var_screeninfo *var_info); 58 | int test_loop(uint8_t* fbp, uint8_t* bbp, struct fb_var_screeninfo* var_info, struct fb_fix_screeninfo* fix_info, int delay, int repeat, long screensize, int trig_in); 59 | -------------------------------------------------------------------------------- /device/bone/capes/DLPDLCR2000/structured_light/open_bmp.h: -------------------------------------------------------------------------------- 1 | /* 2 | DLPDLCR2000EVM Example Test Script Suite 3 | Implements basic structured light functionality of the DLP LightCrafter 4 | Display 2000 EVM using the provided code 5 | 6 | Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/ 7 | 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions 11 | are met: 12 | 13 | Redistributions of source code must retain the above copyright 14 | notice, this list of conditions and the following disclaimer. 15 | 16 | Redistributions in binary form must reproduce the above copyright 17 | notice, this list of conditions and the following disclaimer in the 18 | documentation and/or other materials provided with the 19 | distribution. 20 | 21 | Neither the name of Texas Instruments Incorporated nor the names of 22 | its contributors may be used to endorse or promote products derived 23 | from this software without specific prior written permission. 24 | 25 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 28 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 29 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | */ 37 | 38 | #define IMG_Y 360 39 | #define IMG_X 640 40 | 41 | typedef struct pixel { 42 | uint8_t r; 43 | uint8_t g; 44 | uint8_t b; 45 | 46 | } pixel; 47 | 48 | int open_bmp(char * file_name, pixel** img); 49 | int verify_bmp(FILE* f, long* offset, char* file_name); 50 | int load_image_files(int *num_images, char **image_names); -------------------------------------------------------------------------------- /device/bone/capes/ISM4334X/ISM4334X_NVRAM_C1.txt: -------------------------------------------------------------------------------- 1 | # NVRAM file for BCM943341WLAGB_2 P203 board 2 | # update board limits 03/17/2013 3 | manfid=0x2d0 4 | prodid=0x0653 5 | vendid=0x14e4 6 | devid=0x4386 7 | boardtype=0x0653 8 | boardrev=0x1203 9 | boardnum=22 10 | macaddr=00:90:4c:c5:12:38 11 | sromrev=3 12 | #boardflags: 13 | # bit 19 3tswitch: 2.4GHz FEM: SP3T switch share with BT 14 | # bit 16 nopa: no external pa 15 | # keep original 0x200 16 | boardflags=0x0080201 17 | xtalfreq=37400 18 | nocrc=1 19 | ag0=255 20 | aa2g=1 21 | ccode=ALL 22 | #PA parameters for 2.4GHz 23 | pa0b0=6656 24 | pa0b1=-814 25 | pa0b2=-191 26 | tssifloor2g=64 27 | # rssi params for 2.4GHz 28 | rssismf2g=0xf 29 | rssismc2g=0x8 30 | rssisav2g=0x1 31 | cckPwrOffset=1 32 | PwrOffset40mhz2g=8 33 | # rssi params for 5GHz 34 | rssismf5g=0xf 35 | rssismc5g=0x7 36 | #rssisav5g=0x1 37 | rssisav5g=0x3 38 | #PA parameters for lower a-band 39 | pa1lob0=6015 40 | pa1lob1=-714 41 | pa1lob2=-172 42 | tssifloor5gl=32 43 | #PA parameters for midband 44 | pa1b0=6014 45 | pa1b1=-721 46 | pa1b2=-174 47 | tssifloor5gm=34 48 | #PA paramasdeters for high band 49 | pa1hib0=6166 50 | pa1hib1=-722 51 | pa1hib2=-147 52 | tssifloor5gh=32 53 | rxpo5g=0 54 | maxp2ga0=0x48 55 | # 18dBm board limit; 17dBm target 56 | #Per rate power back-offs for g band, in .5 dB steps. Set it once you have the right numbers. 57 | cck2gpo=0x0000 58 | ofdm2gpo=0x42111111 59 | # R54 16 dBm; R48 17 dBm; R6~R36 17.5dBm board limit; 15/16/16.5 dBm target 60 | mcs2gpo0=0x1111 61 | # M0~M3 17.5 dBm board limit; 17 dBm target 62 | mcs2gpo1=0x7421 63 | # M7 14.5 dBm; M6 16 dBm; M5 17 dBm; M4 17.5 dBm board limit; 13.5/15/16/16.5 dBm target 64 | # max power for 5G 17 dBm 65 | maxp5ga0=0x44 66 | # 17 dBm board limit; 16 dBm target 67 | maxp5gla0=0x44 68 | maxp5gha0=0x44 69 | #Per rate power back-offs for a band, in .5 dB steps. Set it once you have the right numbers. 70 | ofdm5gpo=0x52111111 71 | # R54 14.5dBm; R48 16 dBm; R6~R36 16.5 dBm board limit; 13.5/15/15.5 dBm target 72 | ofdm5glpo=0x52111111 73 | ofdm5ghpo=0x52111111 74 | mcs5gpo0=0x0000 75 | # M0~M4 17dBm max ; 16 dBm target (1dB higher than ofdm) 76 | mcs5gpo1=0x6530 77 | # M7 14 dBm; M6 14.5 dBm; M5 15.5 dBm board limit; 13/13.5/14.5 dBm target 78 | mcs5glpo0=0x0000 79 | mcs5glpo1=0x6530 80 | mcs5ghpo0=0x0000 81 | mcs5ghpo1=0x6530 82 | # Parameters for DAC2x mode and ALPF bypass 83 | # RF SW Truth Table: ctrl0 for BT_TX; ctrl1 or 5G Tx; ctrl2 for 5G Rx; Ctrl3 for 2G Tx; Ctrl4 for 2G Rx 84 | swctrlmap_2g=0x00080008,0x00100010,0x00080008,0x011010,0x11f 85 | swctrlmap_5g=0x00020002,0x00040004,0x00020002,0x011010,0x2fe 86 | gain=32 87 | triso2g=8 88 | triso5g=8 89 | #hw oob 90 | muxenab=0x11 91 | #tx parameters 92 | loflag=0 93 | iqlocalidx5g=40 94 | dlocalidx5g=70 95 | iqcalidx5g=50 96 | lpbckmode5g=1 97 | txiqlopapu5g=0 98 | txiqlopapu2g=0 99 | dlorange_lowlimit=5 100 | txalpfbyp=1 101 | txalpfpu=1 102 | dacrate2xen=1 103 | papden2g=1 104 | papden5g=1 105 | #rx parameters 106 | gain_settle_dly_2g=4 107 | gain_settle_dly_5g=4 108 | noise_cal_po_2g=-1 109 | noise_cal_po_40_2g=-1 110 | noise_cal_high_gain_2g=73 111 | noise_cal_nf_substract_val_2g=346 112 | noise_cal_po_5g=-1 113 | noise_cal_po_40_5g=-1 114 | noise_cal_high_gain_5g=73 115 | noise_cal_nf_substract_val_5g=346 116 | cckpapden=1 117 | aci_detect_en_2g=1 118 | interference=3 119 | -------------------------------------------------------------------------------- /device/bone/capes/ISM4334X/ISM4334X_Wifi_FW_6.20.225.2_P.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/ISM4334X/ISM4334X_Wifi_FW_6.20.225.2_P.bin -------------------------------------------------------------------------------- /device/bone/capes/ISM4334X/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | if ! id | grep -q root; then 4 | echo "must be run as root" 5 | exit 6 | fi 7 | 8 | cp -v /opt/scripts/device/bone/capes/ISM4334X/ISM4334X_NVRAM_C1.txt /lib/firmware/brcm/brcmfmac43341-sdio.txt 9 | cp -v /opt/scripts/device/bone/capes/ISM4334X/ISM4334X_Wifi_FW_6.20.225.2_P.bin /lib/firmware/brcm/brcmfmac43341-sdio.bin 10 | 11 | if [ ! -f /boot/initrd.img-$(uname -r) ] ; then 12 | update-initramfs -c -k $(uname -r) 13 | else 14 | update-initramfs -u -k $(uname -r) 15 | fi 16 | -------------------------------------------------------------------------------- /device/bone/capes/ISM43362/ISM43362_NVRAM_C1.txt: -------------------------------------------------------------------------------- 1 | # bcm943362sdgn6l (6-layer goldengate rev 3) board 2 | # $Copyright (C) 2010 Broadcom Corporation$ 3 | # $Id: bcm943362sdgn6l.txt 326743 2012-04-10 19:31:30Z ericen $ 4 | #---------------------------------------- 5 | # Notes 6 | # 1. none. 7 | #---------------------------------------- 8 | # 9 | # 10 | sromrev=3 11 | boardtype=0x05a0 12 | boardrev=0x1203 13 | 14 | #[NVRAM ONLY] 15 | manfid=0x2d0 16 | prodid=0x492 17 | vendid=0x14e4 18 | devid=0x4343 19 | boardflags=0x200 20 | nocrc=1 21 | xtalfreq=26000 22 | boardnum=${serno} 23 | ;;il0macaddr=00:90:4c:08:7${maclo12} 24 | macaddr=00:90:4c:07:71:12 25 | ag0=0x0 26 | aa2g=3 27 | ccode=US 28 | regrev=5 29 | pa0b0=5600 30 | pa0b1=-653 31 | pa0b2=-167 32 | pa0itssit=62 33 | pa1itssit=62 34 | ;pa0b0=5308 35 | ;pa0b1=-644 36 | ;pa0b2=-155 37 | ;pa0itssit=62 38 | ;pa1itssit=62 39 | rssismf2g=0xa 40 | rssismc2g=0x3 41 | rssisav2g=0x7 42 | maxp2ga0=0x46 43 | cck2gpo=0x0 44 | ofdm2gpo=0x22222222 45 | mcs2gpo0=0x3333 46 | mcs2gpo1=0x6333 47 | wl0id=0x431b 48 | cckdigfilttype=22 49 | cckPwrOffset=5 50 | ofdmanalogfiltbw2g=3 51 | rfreg033=0x19 52 | rfreg033_cck=0x1f 53 | noise_cal_enable_2g=0 54 | pacalidx2g=10 55 | swctrlmap_2g=0x0c050c05,0x0a030a03,0x0a030a03,0x0,0x1ff 56 | triso2g=1 57 | logen_mode=0x0,0x02,0x1b,0x0,0x1b 58 | RAW1=4a 0b ff ff 20 04 d0 02 62 a9 59 | otpimagesize=76 60 | 61 | temp_based_dutycy_en=1 62 | tx_duty_cycle_ofdm=100 63 | tx_duty_cycle_cck=100 64 | tx_ofdm_temp_0=115 65 | tx_cck_temp_0=115 66 | tx_ofdm_dutycy_0=40 67 | tx_cck_dutycy_0=40 68 | tx_ofdm_temp_1=255 69 | tx_cck_temp_1=255 70 | tx_ofdm_dutycy_1=40 71 | tx_cck_dutycy_1=40 72 | 73 | spuravoid_enable2g=1 -------------------------------------------------------------------------------- /device/bone/capes/ISM43362/ISM43362_WiFi_FW_5.90.225.0_P.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/ISM43362/ISM43362_WiFi_FW_5.90.225.0_P.bin -------------------------------------------------------------------------------- /device/bone/capes/ISM43362/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | if ! id | grep -q root; then 4 | echo "must be run as root" 5 | exit 6 | fi 7 | 8 | cp -v /opt/scripts/device/bone/capes/ISM43362/ISM43362_NVRAM_C1.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt 9 | cp -v /opt/scripts/device/bone/capes/ISM43362/ISM43362_WiFi_FW_5.90.225.0_P.bin /lib/firmware/brcm/brcmfmac43362-sdio.bin 10 | 11 | if [ ! -f /boot/initrd.img-$(uname -r) ] ; then 12 | update-initramfs -c -k $(uname -r) 13 | else 14 | update-initramfs -u -k $(uname -r) 15 | fi 16 | -------------------------------------------------------------------------------- /device/bone/capes/ISM4343W/4343w_bcmdhd.txt: -------------------------------------------------------------------------------- 1 | # 2.4 GHz, 20 MHz BW mode 2 | manfid=0x2d0 3 | prodid=0x0726 4 | vendid=0x14e4 5 | devid=0x43e2 6 | boardtype=0x0726 7 | boardrev=0x1202 8 | boardnum=22 9 | macaddr=00:90:4c:c5:12:38 10 | sromrev=11 11 | boardflags=0x00404201 12 | boardflags3=0x08000000 13 | xtalfreq=37400 14 | nocrc=1 15 | ag0=0 16 | aa2g=1 17 | ccode=ALL 18 | #pa0itssit=0x20 19 | extpagain2g=0 20 | pa2ga0=-168,7161,-820 21 | AvVmid_c0=0x0,0xc8 22 | cckpwroffset0=5 23 | maxp2ga0=90 24 | #txpwrbckof=6 25 | cckbw202gpo=0 26 | legofdmbw202gpo=0x66111111 27 | mcsbw202gpo=0x77711111 28 | propbw202gpo=0xdd 29 | ofdmdigfilttype=18 30 | ofdmdigfilttypebe=18 31 | papdmode=1 32 | papdvalidtest=1 33 | pacalidx2g=48 34 | papdepsoffset=-22 35 | papdendidx=58 36 | il0macaddr=00:90:4c:c5:12:38 37 | wl0id=0x431b 38 | #muxenab=0x10 39 | #BT COEX deferral limit setting 40 | #btc_params 8 45000 41 | #btc_params 10 20000 42 | #spurconfig=0x3 43 | -------------------------------------------------------------------------------- /device/bone/capes/ISM4343W/4343w_fw_bcmdhd.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/ISM4343W/4343w_fw_bcmdhd.bin -------------------------------------------------------------------------------- /device/bone/capes/ISM4343W/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | if ! id | grep -q root; then 4 | echo "must be run as root" 5 | exit 6 | fi 7 | 8 | cp -v /opt/scripts/device/bone/capes/ISM4343W/4343w_bcmdhd.txt /lib/firmware/brcm/brcmfmac4343-sdio.txt 9 | cp -v /opt/scripts/device/bone/capes/ISM4343W/4343w_fw_bcmdhd.bin /lib/firmware/brcm/brcmfmac4343-sdio.bin 10 | 11 | if [ ! -f /boot/initrd.img-$(uname -r) ] ; then 12 | update-initramfs -c -k $(uname -r) 13 | else 14 | update-initramfs -u -k $(uname -r) 15 | fi 16 | -------------------------------------------------------------------------------- /device/bone/capes/cape_eeprom_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | if ! id | grep -q root; then 4 | echo "must be run as root" 5 | exit 6 | fi 7 | 8 | dump () { 9 | echo "checking: ${pre}${address}/${post}" 10 | if [ -f ${pre}${address}/${post} ] ; then 11 | cape_header=$(hexdump -C ${pre}${address}/${post} -n 32) 12 | echo "cape: [${cape_header}]" 13 | fi 14 | } 15 | 16 | eeprom_dump () { 17 | address="0054" ; dump 18 | address="0055" ; dump 19 | address="0056" ; dump 20 | address="0057" ; dump 21 | } 22 | 23 | nvmem_dump () { 24 | address="at24-1" ; dump 25 | address="at24-2" ; dump 26 | address="at24-3" ; dump 27 | address="at24-4" ; dump 28 | } 29 | 30 | if [ -f /sys/bus/i2c/devices/1-0054/eeprom ] ; then 31 | pre="/sys/bus/i2c/devices/1-" 32 | post="eeprom" 33 | eeprom_dump 34 | fi 35 | 36 | if [ -f /sys/bus/i2c/devices/2-0054/eeprom ] ; then 37 | pre="/sys/bus/i2c/devices/2-" 38 | post="eeprom" 39 | eeprom_dump 40 | fi 41 | 42 | if [ -f /sys/bus/nvmem/devices/at24-1/nvmem ] ; then 43 | pre="/sys/bus/nvmem/devices/" 44 | post="nvmem" 45 | nvmem_dump 46 | fi 47 | -------------------------------------------------------------------------------- /device/bone/capes/dksb1017/dksb1017.eeprom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/capes/dksb1017/dksb1017.eeprom -------------------------------------------------------------------------------- /device/bone/capes/readme: -------------------------------------------------------------------------------- 1 | A place for bone test scripts 2 | -------------------------------------------------------------------------------- /device/bone/eeprom_database.txt: -------------------------------------------------------------------------------- 1 | Production: 2 | 3 | BeagleBone Black: 4 | A5A: [aa 55 33 ee 41 33 33 35 42 4e 4c 54 30 41 35 41 |.U3.A335BNLT0A5A|] 5 | A5B: [aa 55 33 ee 41 33 33 35 42 4e 4c 54 30 41 35 42 |.U3.A335BNLT0A5B|] 6 | A5C: [aa 55 33 ee 41 33 33 35 42 4e 4c 54 30 41 35 43 |.U3.A335BNLT0A5C|] 7 | A6: [aa 55 33 ee 41 33 33 35 42 4e 4c 54 30 30 41 36 |.U3.A335BNLT00A6|] 8 | C: [aa 55 33 ee 41 33 33 35 42 4e 4c 54 30 30 30 43 |.U3.A335BNLT000C|] 9 | 10 | BeagleBone Green: 11 | 1: [aa 55 33 ee 41 33 33 35 42 4e 4c 54 1a 00 00 00 |.U3.A335BNLT....|] 12 | -------------------------------------------------------------------------------- /device/bone/m10a-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/m10a-eeprom.dump -------------------------------------------------------------------------------- /device/bone/me06-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/me06-eeprom.dump -------------------------------------------------------------------------------- /device/bone/osd3358-sm-red-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/osd3358-sm-red-eeprom.dump -------------------------------------------------------------------------------- /device/bone/pru-rpmsg_client_sample/am335x-pru0-fw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/pru-rpmsg_client_sample/am335x-pru0-fw -------------------------------------------------------------------------------- /device/bone/pru-rpmsg_client_sample/am335x-pru1-fw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/bone/pru-rpmsg_client_sample/am335x-pru1-fw -------------------------------------------------------------------------------- /device/bone/show-pins-install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd /usr/local/sbin 4 | sudo wget -N https://raw.githubusercontent.com/mvduin/bbb-pin-utils/master/show-pins 5 | sudo chmod a+x show-pins 6 | -------------------------------------------------------------------------------- /device/bone/tester/eeprom-blank.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | if ! id | grep -q root; then 4 | echo "must be run as root" 5 | exit 6 | fi 7 | 8 | unset got_eeprom 9 | 10 | #v8 of nvmem... 11 | if [ -f /sys/bus/nvmem/devices/at24-0/nvmem ] && [ "x${got_eeprom}" = "x" ] ; then 12 | eeprom="/sys/bus/nvmem/devices/at24-0/nvmem" 13 | eeprom_location="/sys/devices/platform/ocp/44e0b000.i2c/i2c-0/0-0050/at24-0/nvmem" 14 | got_eeprom="true" 15 | fi 16 | 17 | #pre-v8 of nvmem... 18 | if [ -f /sys/class/nvmem/at24-0/nvmem ] && [ "x${got_eeprom}" = "x" ] ; then 19 | eeprom="/sys/class/nvmem/at24-0/nvmem" 20 | eeprom_location="/sys/devices/platform/ocp/44e0b000.i2c/i2c-0/0-0050/nvmem/at24-0/nvmem" 21 | got_eeprom="true" 22 | fi 23 | 24 | #eeprom... 25 | if [ -f /sys/bus/i2c/devices/0-0050/eeprom ] && [ "x${got_eeprom}" = "x" ] ; then 26 | eeprom="/sys/bus/i2c/devices/0-0050/eeprom" 27 | if [ -f /sys/devices/platform/ocp/44e0b000.i2c/i2c-0/0-0050/eeprom ] ; then 28 | eeprom_location="/sys/devices/platform/ocp/44e0b000.i2c/i2c-0/0-0050/eeprom" 29 | else 30 | eeprom_location=$(ls /sys/devices/ocp*/44e0b000.i2c/i2c-0/0-0050/eeprom 2> /dev/null) 31 | fi 32 | got_eeprom="true" 33 | fi 34 | 35 | if [ "x${got_eeprom}" = "xtrue" ] ; then 36 | dd if=/dev/zero of=${eeprom_location} 37 | sync 38 | sync 39 | eeprom_header=$(hexdump -e '8/1 "%c"' ${eeprom} -n 16) 40 | eeprom_raw=$(hexdump ${eeprom} -n 16 | grep -v 0000008) 41 | echo "eeprom: [${eeprom_header}]" 42 | echo "eeprom raw: [${eeprom_raw}]" 43 | fi 44 | -------------------------------------------------------------------------------- /device/bone/tester/show-eeprom.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | if ! id | grep -q root; then 4 | echo "must be run as root" 5 | exit 6 | fi 7 | 8 | unset got_eeprom 9 | 10 | #v8 of nvmem... 11 | if [ -f /sys/bus/nvmem/devices/at24-0/nvmem ] && [ "x${got_eeprom}" = "x" ] ; then 12 | eeprom="/sys/bus/nvmem/devices/at24-0/nvmem" 13 | got_eeprom="true" 14 | fi 15 | 16 | #pre-v8 of nvmem... 17 | if [ -f /sys/class/nvmem/at24-0/nvmem ] && [ "x${got_eeprom}" = "x" ] ; then 18 | eeprom="/sys/class/nvmem/at24-0/nvmem" 19 | got_eeprom="true" 20 | fi 21 | 22 | #eeprom... 23 | if [ -f /sys/bus/i2c/devices/0-0050/eeprom ] && [ "x${got_eeprom}" = "x" ] ; then 24 | eeprom="/sys/bus/i2c/devices/0-0050/eeprom" 25 | got_eeprom="true" 26 | fi 27 | 28 | if [ "x${got_eeprom}" = "xtrue" ] ; then 29 | eeprom_header=$(hexdump -e '8/1 "%c"' ${eeprom} -n 16) 30 | eeprom_raw_rev=$(hexdump -C ${eeprom} -n 16 | grep 00000000) 31 | eeprom_raw_serial_10=$(hexdump -C ${eeprom} -n 32 | grep 00000010) 32 | eeprom_raw_serial_20=$(hexdump -C ${eeprom} -n 48 | grep 00000020) 33 | eeprom_raw_serial_30=$(hexdump -C ${eeprom} -n 64 | grep 00000030) 34 | eeprom_raw_serial_40=$(hexdump -C ${eeprom} -n 80 | grep 00000040) 35 | echo "eeprom: [${eeprom_header}]" 36 | echo "eeprom raw: [${eeprom_raw_rev}]" 37 | echo "eeprom raw: [${eeprom_raw_serial_10}]" 38 | echo "eeprom raw: [${eeprom_raw_serial_20}]" 39 | echo "eeprom raw: [${eeprom_raw_serial_30}]" 40 | echo "eeprom raw: [${eeprom_raw_serial_40}]" 41 | fi 42 | -------------------------------------------------------------------------------- /device/x15/PM_A3-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/x15/PM_A3-eeprom.dump -------------------------------------------------------------------------------- /device/x15/SB_A-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/x15/SB_A-eeprom.dump -------------------------------------------------------------------------------- /device/x15/X15_B1-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/x15/X15_B1-eeprom.dump -------------------------------------------------------------------------------- /device/x15/X15_C-eeprom.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/x15/X15_C-eeprom.dump -------------------------------------------------------------------------------- /device/x15/eeprom/eeprom-blank.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | if ! id | grep -q root; then 4 | echo "must be run as root" 5 | exit 6 | fi 7 | 8 | unset got_eeprom 9 | 10 | #eeprom... 11 | if [ -f /sys/bus/i2c/devices/0-0050/eeprom ] && [ "x${got_eeprom}" = "x" ] ; then 12 | eeprom="/sys/bus/i2c/devices/0-0050/eeprom" 13 | if [ -f /sys/devices/platform/44000000.ocp/48070000.i2c/i2c-0/0-0050/eeprom ] ; then 14 | eeprom_location="/sys/devices/platform/44000000.ocp/48070000.i2c/i2c-0/0-0050/eeprom" 15 | got_eeprom="true" 16 | fi 17 | fi 18 | 19 | if [ "x${got_eeprom}" = "xtrue" ] ; then 20 | echo "dd if=/dev/zero of=${eeprom_location}" 21 | dd if=/dev/zero of=${eeprom_location} 22 | echo "done, syncing..." 23 | sync 24 | sync 25 | eeprom_header=$(hexdump -e '8/1 "%c"' ${eeprom} -n 16) 26 | eeprom_raw_rev=$(hexdump -C ${eeprom} -n 16 | grep 00000000) 27 | eeprom_raw_serial_10=$(hexdump -C ${eeprom} -n 32 | grep 00000010) 28 | eeprom_raw_serial_20=$(hexdump -C ${eeprom} -n 48 | grep 00000020) 29 | echo "eeprom: [${eeprom_header}]" 30 | echo "eeprom raw: [${eeprom_raw_rev}]" 31 | echo "eeprom raw: [${eeprom_raw_serial_10}]" 32 | echo "eeprom raw: [${eeprom_raw_serial_20}]" 33 | fi 34 | -------------------------------------------------------------------------------- /device/x15/pru-rpmsg_client_sample/am57xx-pru1_0-fw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/x15/pru-rpmsg_client_sample/am57xx-pru1_0-fw -------------------------------------------------------------------------------- /device/x15/pru-rpmsg_client_sample/am57xx-pru1_1-fw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/x15/pru-rpmsg_client_sample/am57xx-pru1_1-fw -------------------------------------------------------------------------------- /device/x15/pru-rpmsg_client_sample/am57xx-pru2_0-fw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/x15/pru-rpmsg_client_sample/am57xx-pru2_0-fw -------------------------------------------------------------------------------- /device/x15/pru-rpmsg_client_sample/am57xx-pru2_1-fw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/device/x15/pru-rpmsg_client_sample/am57xx-pru2_1-fw -------------------------------------------------------------------------------- /device/x15/show-eeprom.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | if ! id | grep -q root; then 4 | echo "must be run as root" 5 | exit 6 | fi 7 | 8 | unset got_eeprom 9 | 10 | #eeprom... 11 | if [ -f /sys/bus/i2c/devices/0-0050/eeprom ] && [ "x${got_eeprom}" = "x" ] ; then 12 | eeprom="/sys/bus/i2c/devices/0-0050/eeprom" 13 | got_eeprom="true" 14 | fi 15 | 16 | if [ "x${got_eeprom}" = "xtrue" ] ; then 17 | eeprom_header=$(hexdump -e '8/1 "%c"' ${eeprom} -n 16) 18 | eeprom_raw_rev=$(hexdump -C ${eeprom} -n 16 | grep 00000000) 19 | eeprom_raw_serial_10=$(hexdump -C ${eeprom} -n 32 | grep 00000010) 20 | eeprom_raw_serial_20=$(hexdump -C ${eeprom} -n 48 | grep 00000020) 21 | echo "eeprom: [${eeprom_header}]" 22 | echo "eeprom raw: [${eeprom_raw_rev}]" 23 | echo "eeprom raw: [${eeprom_raw_serial_10}]" 24 | echo "eeprom raw: [${eeprom_raw_serial_20}]" 25 | fi 26 | -------------------------------------------------------------------------------- /device/x15/test_audio_jacks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | #software: alsa-utils 4 | 5 | if ! id | grep -q root; then 6 | echo "must be run as root" 7 | exit 8 | fi 9 | 10 | amixer -c0 sset 'PCM' 119 11 | amixer -c0 sset 'Line DAC' 108 12 | amixer -c0 sset 'Left PGA Mixer Mic2L' unmute 13 | amixer -c0 sset 'Right PGA Mixer Mic2R' unmute 14 | #amixer -c0 sset 'PGA' 10 15 | amixer -c0 sset 'PGA' 30 16 | 17 | echo "#speaker-test" 18 | speaker-test -Dplughw:0,0 -c2 -l2 -t sine 19 | 20 | echo "#Recording: 4 seconds" 21 | arecord -Dplughw:0,0 -fcd -d4 -c2 > /tmp/music.wav 22 | 23 | echo "#Playback:" 24 | aplay -Dplughw:0,0 /tmp/music.wav 25 | -------------------------------------------------------------------------------- /device/x15/test_dual_eth.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | #based on: http://www.embeddedsystemtesting.com/2015/03/how-to-run-iperf-traffic-on-same.html?m=1 4 | 5 | #hardware: cross over cable between eth0 & eth1 6 | #softwarew: iperf 7 | 8 | if ! id | grep -q root; then 9 | echo "must be run as root" 10 | exit 11 | fi 12 | 13 | mac_eth0=$(ifconfig -a | grep eth0 | awk '{print $5}') 14 | mac_eth1=$(ifconfig -a | grep eth1 | awk '{print $5}') 15 | 16 | ifconfig eth0 10.50.0.1 netmask 255.255.255.0 17 | ifconfig eth1 10.50.1.1 netmask 255.255.255.0 18 | 19 | iptables -t nat -L 20 | iptables -t nat -A POSTROUTING -s 10.50.0.1 -d 10.60.1.1 -j SNAT --to-source 10.60.0.1 21 | iptables -t nat -A PREROUTING -d 10.60.0.1 -j DNAT --to-destination 10.50.0.1 22 | iptables -t nat -A POSTROUTING -s 10.50.1.1 -d 10.60.0.1 -j SNAT --to-source 10.60.1.1 23 | iptables -t nat -A PREROUTING -d 10.60.1.1 -j DNAT --to-destination 10.50.1.1 24 | 25 | ip route add 10.60.1.1 dev eth0 26 | arp -i eth0 -s 10.60.1.1 ${mac_eth1} 27 | ip route add 10.60.0.1 dev eth1 28 | arp -i eth1 -s 10.60.0.1 ${mac_eth0} 29 | 30 | ping -c 1 10.60.1.1 31 | 32 | echo "" 33 | 34 | echo "#Start Server" 35 | echo "iperf -B 10.50.0.1 -s -u -w 320k -l 1KB &" 36 | echo "" 37 | echo "#Run Client" 38 | echo "iperf -B 10.50.1.1 -c 10.60.0.1 -u -b 1000M -w 320k -l 1KB -P 10 -t 60" 39 | 40 | #-l 1KB 41 | #[SUM] 0.0-60.0 sec 1.37 GBytes 197 Mbits/sec 42 | 43 | #-l 4KB 44 | #[SUM] 0.0-60.3 sec 1.14 GBytes 163 Mbits/sec 45 | 46 | #-l 8KB 47 | #[SUM] 0.0-60.3 sec 405 MBytes 56.3 Mbits/sec 48 | -------------------------------------------------------------------------------- /device/x15/test_thermal.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | base="/sys/class/thermal" 4 | 5 | echo -e "------------------------------------------------------------------------------------------------" 6 | echo -e "|Thermal zone\t\t|temp\t|mode\t\t|cdev0_type\t|cdev1_type" 7 | echo -e "------------------------------------------------------------------------------------------------" 8 | for i in `seq 0 5` 9 | do 10 | if [ -d ${base}/thermal_zone$i/ ] ; then 11 | type=$(cat ${base}/thermal_zone$i/type) 12 | temp=$(cat ${base}/thermal_zone$i/temp) 13 | mode=$(cat ${base}/thermal_zone$i/mode) 14 | 15 | if [ -d ${base}/thermal_zone$i/cdev0 ] ; then 16 | cdev0_type=$(cat ${base}/thermal_zone$i/cdev0/type) 17 | else 18 | cdev0_type="\t" 19 | fi 20 | 21 | if [ -d ${base}/thermal_zone$i/cdev1 ] ; then 22 | cdev1_type=$(cat ${base}/thermal_zone$i/cdev1/type) 23 | else 24 | cdev1_type="\t" 25 | fi 26 | 27 | if [ -f ${base}/thermal_zone$i/trip_point_0_temp ] ; then 28 | trip_point_0_temp=$(cat ${base}/thermal_zone$i/trip_point_0_temp) 29 | trip_point_0_type=$(cat ${base}/thermal_zone$i/trip_point_0_type) 30 | trip_point_0="${trip_point_0_type}:${trip_point_0_temp}|" 31 | else 32 | trip_point_0="" 33 | fi 34 | 35 | if [ -f ${base}/thermal_zone$i/trip_point_1_temp ] ; then 36 | trip_point_1_temp=$(cat ${base}/thermal_zone$i/trip_point_1_temp) 37 | trip_point_1_type=$(cat ${base}/thermal_zone$i/trip_point_1_type) 38 | trip_point_1="${trip_point_1_type}:${trip_point_1_temp}|" 39 | else 40 | trip_point_0="" 41 | fi 42 | 43 | if [ -f ${base}/thermal_zone$i/trip_point_2_temp ] ; then 44 | trip_point_2_temp=$(cat ${base}/thermal_zone$i/trip_point_2_temp) 45 | trip_point_2_type=$(cat ${base}/thermal_zone$i/trip_point_2_type) 46 | trip_point_2="${trip_point_2_type}:${trip_point_2_temp}|" 47 | else 48 | trip_point_2="" 49 | fi 50 | 51 | if [ "x${cdev1_type}" = "xthermal-cpufreq-0" ] ; then 52 | echo -e "|${type}\t\t|${temp}\t|${mode}\t|${cdev0_type}\t|${cdev1_type}\t|${trip_point_0}${trip_point_1}${trip_point_2}" 53 | else 54 | echo -e "|${type}\t\t|${temp}\t|${mode}\t|${cdev0_type}\t|${cdev1_type}\t\t|${trip_point_0}${trip_point_1}${trip_point_2}" 55 | fi 56 | fi 57 | done 58 | echo -e "------------------------------------------------------------------------------------------------" 59 | echo -e "|Cooling type\t\t|state\t|max_state\t|" 60 | echo -e "------------------------------------------------------------------------------------------------" 61 | for i in `seq 0 2` 62 | do 63 | if [ -d ${base}/cooling_device$i/ ] ; then 64 | type=$(cat ${base}/cooling_device$i/type) 65 | cur_state=$(cat ${base}/cooling_device$i/cur_state) 66 | max_state=$(cat ${base}/cooling_device$i/max_state) 67 | 68 | if [ "x${type}" = "xthermal-cpufreq-0" ] ; then 69 | echo -e "|${type}\t|${cur_state}\t|${max_state}\t\t|" 70 | else 71 | echo -e "|${type}\t\t|${cur_state}\t|${max_state}\t\t|" 72 | fi 73 | fi 74 | done 75 | echo -e "------------------------------------------------------------------------------------------------" 76 | 77 | -------------------------------------------------------------------------------- /distro/bionic/nginx/default: -------------------------------------------------------------------------------- 1 | ## 2 | # You should look at the following URL's in order to grasp a solid understanding 3 | # of Nginx configuration files in order to fully unleash the power of Nginx. 4 | # https://www.nginx.com/resources/wiki/start/ 5 | # https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ 6 | # https://wiki.debian.org/Nginx/DirectoryStructure 7 | # 8 | # In most cases, administrators will remove this file from sites-enabled/ and 9 | # leave it as reference inside of sites-available where it will continue to be 10 | # updated by the nginx packaging team. 11 | # 12 | # This file will automatically load configuration files provided by other 13 | # applications, such as Drupal or Wordpress. These applications will be made 14 | # available underneath a path with that package name, such as /drupal8. 15 | # 16 | # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. 17 | ## 18 | 19 | # Default server configuration 20 | # 21 | server { 22 | listen 80 default_server; 23 | listen [::]:80 default_server; 24 | 25 | # SSL configuration 26 | # 27 | # listen 443 ssl default_server; 28 | # listen [::]:443 ssl default_server; 29 | # 30 | # Note: You should disable gzip for SSL traffic. 31 | # See: https://bugs.debian.org/773332 32 | # 33 | # Read up on ssl_ciphers to ensure a secure configuration. 34 | # See: https://bugs.debian.org/765782 35 | # 36 | # Self signed certs generated by the ssl-cert package 37 | # Don't use them in a production server! 38 | # 39 | # include snippets/snakeoil.conf; 40 | 41 | root /var/www/html; 42 | 43 | # Add index.php to the list if you are using PHP 44 | index index.html index.htm index.nginx-debian.html; 45 | 46 | server_name _; 47 | 48 | #RCNEE-original: 49 | # location / { 50 | # # First attempt to serve request as file, then 51 | # # as directory, then fall back to displaying a 404. 52 | # try_files $uri $uri/ =404; 53 | # } 54 | 55 | #RCNEE-start: 56 | 57 | location / { 58 | #Cloud9 59 | proxy_pass http://localhost:3000; 60 | } 61 | 62 | location /bone101/ { 63 | proxy_pass http://localhost:8000/; 64 | } 65 | 66 | location /nodered/ { 67 | proxy_pass http://localhost:1880/; 68 | proxy_http_version 1.1; 69 | proxy_set_header Upgrade $http_upgrade; 70 | proxy_set_header Connection "upgrade"; 71 | } 72 | 73 | location /ui/ { 74 | proxy_pass http://localhost:1880/ui/; 75 | proxy_http_version 1.1; 76 | proxy_set_header Upgrade $http_upgrade; 77 | proxy_set_header Connection "upgrade"; 78 | } 79 | 80 | #RCNEE-end: 81 | 82 | # pass PHP scripts to FastCGI server 83 | # 84 | #location ~ \.php$ { 85 | # include snippets/fastcgi-php.conf; 86 | # 87 | # # With php-fpm (or other unix sockets): 88 | # fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; 89 | # # With php-cgi (or other tcp sockets): 90 | # fastcgi_pass 127.0.0.1:9000; 91 | #} 92 | 93 | # deny access to .htaccess files, if Apache's document root 94 | # concurs with nginx's one 95 | # 96 | #location ~ /\.ht { 97 | # deny all; 98 | #} 99 | } 100 | 101 | server { 102 | listen 8080 default_server; 103 | listen [::]:8080 default_server; 104 | 105 | root /var/www/html; 106 | 107 | # Add index.php to the list if you are using PHP 108 | index index.html index.htm index.nginx-debian.html; 109 | 110 | server_name _; 111 | 112 | location / { 113 | # First attempt to serve request as file, then 114 | # as directory, then fall back to displaying a 404. 115 | try_files $uri $uri/ =404; 116 | autoindex on; 117 | } 118 | } 119 | 120 | # Virtual Host configuration for example.com 121 | # 122 | # You can move that to a different file under sites-available/ and symlink that 123 | # to sites-enabled/ to enable it. 124 | # 125 | #server { 126 | # listen 80; 127 | # listen [::]:80; 128 | # 129 | # server_name example.com; 130 | # 131 | # root /var/www/example.com; 132 | # index index.html; 133 | # 134 | # location / { 135 | # try_files $uri $uri/ =404; 136 | # } 137 | #} 138 | -------------------------------------------------------------------------------- /distro/buster/nginx/default: -------------------------------------------------------------------------------- 1 | ## 2 | # You should look at the following URL's in order to grasp a solid understanding 3 | # of Nginx configuration files in order to fully unleash the power of Nginx. 4 | # https://www.nginx.com/resources/wiki/start/ 5 | # https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ 6 | # https://wiki.debian.org/Nginx/DirectoryStructure 7 | # 8 | # In most cases, administrators will remove this file from sites-enabled/ and 9 | # leave it as reference inside of sites-available where it will continue to be 10 | # updated by the nginx packaging team. 11 | # 12 | # This file will automatically load configuration files provided by other 13 | # applications, such as Drupal or Wordpress. These applications will be made 14 | # available underneath a path with that package name, such as /drupal8. 15 | # 16 | # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. 17 | ## 18 | 19 | # Default server configuration 20 | # 21 | server { 22 | listen 80 default_server; 23 | listen [::]:80 default_server; 24 | 25 | # SSL configuration 26 | # 27 | # listen 443 ssl default_server; 28 | # listen [::]:443 ssl default_server; 29 | # 30 | # Note: You should disable gzip for SSL traffic. 31 | # See: https://bugs.debian.org/773332 32 | # 33 | # Read up on ssl_ciphers to ensure a secure configuration. 34 | # See: https://bugs.debian.org/765782 35 | # 36 | # Self signed certs generated by the ssl-cert package 37 | # Don't use them in a production server! 38 | # 39 | # include snippets/snakeoil.conf; 40 | 41 | root /var/www/html; 42 | 43 | # Add index.php to the list if you are using PHP 44 | index index.html index.htm index.nginx-debian.html; 45 | 46 | server_name _; 47 | 48 | #RCNEE-original: 49 | # location / { 50 | # # First attempt to serve request as file, then 51 | # # as directory, then fall back to displaying a 404. 52 | # try_files $uri $uri/ =404; 53 | # } 54 | 55 | #RCNEE-start: 56 | 57 | location / { 58 | #Cloud9 59 | proxy_pass http://localhost:3000; 60 | } 61 | 62 | location /bone101/ { 63 | proxy_pass http://localhost:8000/; 64 | } 65 | 66 | location /nodered/ { 67 | proxy_pass http://localhost:1880/; 68 | proxy_http_version 1.1; 69 | proxy_set_header Upgrade $http_upgrade; 70 | proxy_set_header Connection "upgrade"; 71 | } 72 | 73 | location /ui/ { 74 | proxy_pass http://localhost:1880/ui/; 75 | proxy_http_version 1.1; 76 | proxy_set_header Upgrade $http_upgrade; 77 | proxy_set_header Connection "upgrade"; 78 | } 79 | 80 | #RCNEE-end: 81 | 82 | # pass PHP scripts to FastCGI server 83 | # 84 | #location ~ \.php$ { 85 | # include snippets/fastcgi-php.conf; 86 | # 87 | # # With php-fpm (or other unix sockets): 88 | # fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; 89 | # # With php-cgi (or other tcp sockets): 90 | # fastcgi_pass 127.0.0.1:9000; 91 | #} 92 | 93 | # deny access to .htaccess files, if Apache's document root 94 | # concurs with nginx's one 95 | # 96 | #location ~ /\.ht { 97 | # deny all; 98 | #} 99 | } 100 | 101 | server { 102 | listen 8080 default_server; 103 | listen [::]:8080 default_server; 104 | 105 | root /var/www/html; 106 | 107 | # Add index.php to the list if you are using PHP 108 | index index.html index.htm index.nginx-debian.html; 109 | 110 | server_name _; 111 | 112 | location / { 113 | # First attempt to serve request as file, then 114 | # as directory, then fall back to displaying a 404. 115 | try_files $uri $uri/ =404; 116 | autoindex on; 117 | } 118 | } 119 | 120 | # Virtual Host configuration for example.com 121 | # 122 | # You can move that to a different file under sites-available/ and symlink that 123 | # to sites-enabled/ to enable it. 124 | # 125 | #server { 126 | # listen 80; 127 | # listen [::]:80; 128 | # 129 | # server_name example.com; 130 | # 131 | # root /var/www/example.com; 132 | # index index.html; 133 | # 134 | # location / { 135 | # try_files $uri $uri/ =404; 136 | # } 137 | #} 138 | -------------------------------------------------------------------------------- /images/beaglebg-eMMC.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/images/beaglebg-eMMC.jpg -------------------------------------------------------------------------------- /images/beaglebg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RobertCNelson/boot-scripts/39e66ba124a2f42838e6069e16f1f394b2bdef6c/images/beaglebg.jpg -------------------------------------------------------------------------------- /mods/cloud9-systemd-fix.diff: -------------------------------------------------------------------------------- 1 | diff --git a/node_modules/connect-architect/connect/connect-plugin.js b/node_modules/connect-architect/connect/connect-plugin.js 2 | index 70314ed..722605f 100644 3 | --- a/node_modules/connect-architect/connect/connect-plugin.js 4 | +++ b/node_modules/connect-architect/connect/connect-plugin.js 5 | @@ -118,7 +118,8 @@ module.exports = function startup(options, imports, register) { 6 | else 7 | server = http.createServer(app); 8 | 9 | - server.listen(port, host, function(err) { 10 | + server.listen(port); 11 | + server.on('listening', function(err) { 12 | if (err) 13 | return register(err); 14 | 15 | @@ -216,4 +217,4 @@ function merge(objects) { 16 | } 17 | } 18 | return result; 19 | -} 20 | \ No newline at end of file 21 | +} 22 | -------------------------------------------------------------------------------- /mods/debian-add-sbin-usr-sbin-to-default-path.diff: -------------------------------------------------------------------------------- 1 | diff --git a/etc/profile b/etc/profile 2 | index c9207fc..d8e68da 100644 3 | --- a/etc/profile 4 | +++ b/etc/profile 5 | @@ -4,7 +4,7 @@ 6 | if [ "`id -u`" -eq 0 ]; then 7 | PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 8 | else 9 | - PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" 10 | + PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games" 11 | fi 12 | export PATH 13 | 14 | -------------------------------------------------------------------------------- /mods/jessie-systemd-poweroff.diff: -------------------------------------------------------------------------------- 1 | diff --git a/lib/udev/rules.d/70-power-switch.rules b/lib/udev/rules.d/70-power-switch.rules 2 | index c9207fc..d8e68da 100644 3 | --- a/lib/udev/rules.d/70-power-switch.rules 4 | +++ b/lib/udev/rules.d/70-power-switch.rules 5 | @@ -9,5 +9,7 @@ 6 | 7 | SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" 8 | SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" 9 | +SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" 10 | +SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="tps65217_pwr_but", TAG+="power-switch" 11 | 12 | LABEL="power_switch_end" 13 | -------------------------------------------------------------------------------- /mods/node-red/node-red-0.10.10.patch: -------------------------------------------------------------------------------- 1 | diff --git a/red.js b/red.js 2 | index caaf714..9646d65 100755 3 | --- a/red.js 4 | +++ b/red.js 5 | @@ -23,6 +23,7 @@ var nopt = require("nopt"); 6 | var path = require("path"); 7 | var fs = require("fs"); 8 | var RED = require("./red/red.js"); 9 | +require('systemd'); 10 | 11 | var server; 12 | var app = express(); 13 | @@ -228,7 +229,8 @@ RED.start().then(function() { 14 | } 15 | process.exit(1); 16 | }); 17 | - server.listen(settings.uiPort,settings.uiHost,function() { 18 | + server.listen(settings.uiPort); 19 | + server.on('listening', function() { 20 | if (settings.httpAdminRoot === false) { 21 | RED.log.info('Admin UI disabled'); 22 | } 23 | diff --git a/settings.js b/settings.js 24 | index 0073fdf..d5f3912 100644 25 | --- a/settings.js 26 | +++ b/settings.js 27 | @@ -18,9 +18,11 @@ 28 | // to make it available: 29 | //var fs = require("fs"); 30 | 31 | +var port = process.env.LISTEN_PID > 0 ? 'systemd' : 1880; 32 | + 33 | module.exports = { 34 | // the tcp port that the Node-RED web server is listening on 35 | - uiPort: 1880, 36 | + uiPort: port, 37 | 38 | // By default, the Node-RED UI accepts connections on all IPv4 interfaces. 39 | // The following property can be used to listen on a specific interface. For 40 | -------------------------------------------------------------------------------- /mods/node-red/node-red-0.11.2.patch: -------------------------------------------------------------------------------- 1 | diff --git a/red.js b/red.js 2 | index d4bd2d4..303d91d 100755 3 | --- a/red.js 4 | +++ b/red.js 5 | @@ -24,6 +24,7 @@ var path = require("path"); 6 | var fs = require("fs"); 7 | var RED = require("./red/red.js"); 8 | var log = require("./red/log"); 9 | +require('systemd'); 10 | 11 | var server; 12 | var app = express(); 13 | @@ -229,7 +230,8 @@ RED.start().then(function() { 14 | } 15 | process.exit(1); 16 | }); 17 | - server.listen(settings.uiPort,settings.uiHost,function() { 18 | + server.listen(settings.uiPort); 19 | + server.on('listening', function() { 20 | if (settings.httpAdminRoot === false) { 21 | RED.log.info(log._("server.admin-ui-disabled")); 22 | } 23 | diff --git a/settings.js b/settings.js 24 | index 75874e5..1cd0784 100644 25 | --- a/settings.js 26 | +++ b/settings.js 27 | @@ -18,9 +18,11 @@ 28 | // to make it available: 29 | //var fs = require("fs"); 30 | 31 | +var port = process.env.LISTEN_PID > 0 ? 'systemd' : 1880; 32 | + 33 | module.exports = { 34 | // the tcp port that the Node-RED web server is listening on 35 | - uiPort: 1880, 36 | + uiPort: port, 37 | 38 | // By default, the Node-RED UI accepts connections on all IPv4 interfaces. 39 | // The following property can be used to listen on a specific interface. For 40 | -------------------------------------------------------------------------------- /mods/node-red/node-red-0.12.5.patch: -------------------------------------------------------------------------------- 1 | diff --git a/red.js b/red.js 2 | index b877e6b..acb2529 100755 3 | --- a/red.js 4 | +++ b/red.js 5 | @@ -26,6 +26,7 @@ var path = require("path"); 6 | var fs = require("fs-extra"); 7 | var RED = require("./red/red.js"); 8 | var log = require("./red/log"); 9 | +require('systemd'); 10 | 11 | var server; 12 | var app = express(); 13 | @@ -255,7 +256,8 @@ RED.start().then(function() { 14 | } 15 | process.exit(1); 16 | }); 17 | - server.listen(settings.uiPort,settings.uiHost,function() { 18 | + server.listen(settings.uiPort); 19 | + server.on('listening', function() { 20 | if (settings.httpAdminRoot === false) { 21 | RED.log.info(log._("server.admin-ui-disabled")); 22 | } 23 | diff --git a/settings.js b/settings.js 24 | index 552ae95..559091c 100644 25 | --- a/settings.js 26 | +++ b/settings.js 27 | @@ -18,9 +18,11 @@ 28 | // to make it available: 29 | //var fs = require("fs"); 30 | 31 | +var port = process.env.LISTEN_PID > 0 ? 'systemd' : 1880; 32 | + 33 | module.exports = { 34 | // the tcp port that the Node-RED web server is listening on 35 | - uiPort: 1880, 36 | + uiPort: port, 37 | 38 | // By default, the Node-RED UI accepts connections on all IPv4 interfaces. 39 | // The following property can be used to listen on a specific interface. For 40 | -------------------------------------------------------------------------------- /mods/node-red/node-red-0.13.1.patch: -------------------------------------------------------------------------------- 1 | diff --git a/red.js b/red.js 2 | index 6162add..4a85030 100755 3 | --- a/red.js 4 | +++ b/red.js 5 | @@ -25,6 +25,7 @@ var nopt = require("nopt"); 6 | var path = require("path"); 7 | var fs = require("fs-extra"); 8 | var RED = require("./red/red.js"); 9 | +require('systemd'); 10 | 11 | var server; 12 | var app = express(); 13 | @@ -254,7 +255,8 @@ RED.start().then(function() { 14 | } 15 | process.exit(1); 16 | }); 17 | - server.listen(settings.uiPort,settings.uiHost,function() { 18 | + server.listen(settings.uiPort); 19 | + server.on('listening', function() { 20 | if (settings.httpAdminRoot === false) { 21 | RED.log.info(RED.log._("server.admin-ui-disabled")); 22 | } 23 | diff --git a/settings.js b/settings.js 24 | index a6e6797..4437acd 100644 25 | --- a/settings.js 26 | +++ b/settings.js 27 | @@ -18,9 +18,11 @@ 28 | // to make it available: 29 | //var fs = require("fs"); 30 | 31 | +var port = process.env.LISTEN_PID > 0 ? 'systemd' : 1880; 32 | + 33 | module.exports = { 34 | // the tcp port that the Node-RED web server is listening on 35 | - uiPort: 1880, 36 | + uiPort: port, 37 | 38 | // By default, the Node-RED UI accepts connections on all IPv4 interfaces. 39 | // The following property can be used to listen on a specific interface. For 40 | -------------------------------------------------------------------------------- /mods/node-red/node-red-0.9.1-nocolors.patch: -------------------------------------------------------------------------------- 1 | diff -rupN original/red.js new/red.js 2 | --- original/red.js 2014-11-10 02:05:33.433249478 +0000 3 | +++ new/red.js 2014-11-10 02:06:38.999655735 +0000 4 | @@ -21,6 +21,7 @@ var crypto = require("crypto"); 5 | var nopt = require("nopt"); 6 | var path = require("path"); 7 | var RED = require("./red/red.js"); 8 | +require('systemd'); 9 | 10 | var server; 11 | var app = express(); 12 | @@ -182,7 +183,8 @@ RED.start().then(function() { 13 | } 14 | process.exit(1); 15 | }); 16 | - server.listen(settings.uiPort,settings.uiHost,function() { 17 | + server.listen(settings.uiPort); 18 | + server.on('listening', function() { 19 | if (settings.httpAdminRoot === false) { 20 | util.log('[red] Admin UI disabled'); 21 | } 22 | diff -rupN original/settings.js new/settings.js 23 | --- original/settings.js 2014-11-10 02:08:45.419577625 +0000 24 | +++ new/settings.js 2014-11-10 02:10:02.405905760 +0000 25 | @@ -13,9 +13,12 @@ 26 | * See the License for the specific language governing permissions and 27 | * limitations under the License. 28 | **/ 29 | + 30 | +var port = process.env.LISTEN_PID > 0 ? 'systemd' : 1880; 31 | + 32 | module.exports = { 33 | // the tcp port that the Node-RED web server is listening on 34 | - uiPort: 1880, 35 | + uiPort: port, 36 | 37 | // By default, the Node-RED UI accepts connections on all IPv4 interfaces. 38 | // The following property can be used to listen on a specific interface. For 39 | @@ -121,7 +124,7 @@ module.exports = { 40 | 41 | functionGlobalContext: { 42 | // os:require('os'), 43 | - // bonescript:require('bonescript'), 44 | + bonescript:require('bonescript'), 45 | // arduino:require('duino') 46 | } 47 | 48 | -------------------------------------------------------------------------------- /mods/wheezy-systemd-poweroff.diff: -------------------------------------------------------------------------------- 1 | diff --git a/lib/udev/rules.d/70-power-switch.rules b/lib/udev/rules.d/70-power-switch.rules 2 | new file mode 100644 3 | index 0000000..5df23d3 4 | --- /dev/null 5 | +++ b/lib/udev/rules.d/70-power-switch.rules 6 | @@ -0,0 +1,16 @@ 7 | +# This file is part of systemd. 8 | +# 9 | +# systemd is free software; you can redistribute it and/or modify it 10 | +# under the terms of the GNU Lesser General Public License as published by 11 | +# the Free Software Foundation; either version 2.1 of the License, or 12 | +# (at your option) any later version. 13 | + 14 | +ACTION=="remove", GOTO="power_switch_end" 15 | + 16 | +SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" 17 | +SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" 18 | +SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="twl4030_pwrbutton", TAG+="power-switch" 19 | +SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="tps65217_pwr_but", TAG+="power-switch" 20 | + 21 | +LABEL="power_switch_end" 22 | + 23 | -------------------------------------------------------------------------------- /network/doc-debian-setup.md: -------------------------------------------------------------------------------- 1 | 2 | ```bash 3 | sudo sysctl net.ipv4.ip_forward=1 4 | ``` 5 | 6 | Assuming: eth0 is your PC port, and the Beagle is eth1 7 | ``` 8 | sudo iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE 9 | sudo iptables --append FORWARD --in-interface eth1 -j ACCEPT 10 | ``` 11 | 12 | Starting with Debian Buster, nf_tables is now default, to switch back.. 13 | ``` 14 | sudo update-alternatives --set iptables /usr/sbin/iptables-legacy 15 | sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy 16 | sudo update-alternatives --set arptables /usr/sbin/arptables-legacy 17 | sudo update-alternatives --set ebtables /usr/sbin/ebtables-legacy 18 | ``` 19 | -------------------------------------------------------------------------------- /network/usb_linux_usb0_ics.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | 4 | if ! id | grep -q root; then 5 | echo "must be run as root" 6 | exit 7 | fi 8 | 9 | if [ -f /etc/default/bb-boot ] ; then 10 | . /etc/default/bb-boot 11 | fi 12 | 13 | if [ "x${USB_CONFIGURATION}" = "x" ] ; then 14 | USB0_SUBNET=192.168.7 15 | DNS_NAMESERVER=8.8.8.8 16 | fi 17 | 18 | /sbin/route add default gw ${USB0_SUBNET}.1 || true 19 | 20 | ping -c1 ${DNS_NAMESERVER} 21 | echo "nameserver ${DNS_NAMESERVER}" >> /etc/resolv.conf 22 | 23 | # 24 | -------------------------------------------------------------------------------- /network/usb_linux_usb1_ics.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | 4 | if ! id | grep -q root; then 5 | echo "must be run as root" 6 | exit 7 | fi 8 | 9 | if [ -f /etc/default/bb-boot ] ; then 10 | . /etc/default/bb-boot 11 | fi 12 | 13 | if [ "x${USB_CONFIGURATION}" = "x" ] ; then 14 | USB1_SUBNET=192.168.6 15 | DNS_NAMESERVER=8.8.8.8 16 | fi 17 | 18 | /sbin/route add default gw ${USB1_SUBNET}.1 || true 19 | 20 | ping -c1 ${DNS_NAMESERVER} 21 | echo "nameserver ${DNS_NAMESERVER}" >> /etc/resolv.conf 22 | 23 | # 24 | -------------------------------------------------------------------------------- /network/usb_mac_ics.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | 4 | if ! id | grep -q root; then 5 | echo "must be run as root" 6 | exit 7 | fi 8 | 9 | if [ -f /etc/default/bb-boot ] ; then 10 | . /etc/default/bb-boot 11 | fi 12 | 13 | if [ "x${USB_CONFIGURATION}" = "x" ] ; then 14 | USB1_SUBNET=192.168.6 15 | DNS_NAMESERVER=8.8.8.8 16 | fi 17 | 18 | ip addr flush dev usb1 || true 19 | /sbin/dhclient usb1 || true 20 | /sbin/route add default gw ${USB1_SUBNET}.1 || true 21 | 22 | ping -c1 ${DNS_NAMESERVER} 23 | echo "nameserver ${DNS_NAMESERVER}" >> /etc/resolv.conf 24 | 25 | # 26 | -------------------------------------------------------------------------------- /network/usb_windows_ics.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | 4 | if ! id | grep -q root; then 5 | echo "must be run as root" 6 | exit 7 | fi 8 | 9 | if [ -f /etc/default/bb-boot ] ; then 10 | . /etc/default/bb-boot 11 | fi 12 | 13 | if [ "x${USB_CONFIGURATION}" = "x" ] ; then 14 | USB0_SUBNET=192.168.7 15 | DNS_NAMESERVER=8.8.8.8 16 | fi 17 | 18 | ip addr flush dev usb0 || true 19 | /sbin/dhclient usb0 || true 20 | 21 | #/sbin/route add default gw ${USB0_SUBNET}.1 || true 22 | 23 | #ping -c1 ${DNS_NAMESERVER} 24 | #echo "nameserver ${DNS_NAMESERVER}" >> /etc/resolv.conf 25 | 26 | # 27 | -------------------------------------------------------------------------------- /network/wifi_enterprise.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Written by Daniyal Ansari 4 | # github.com/ansarid 5 | 6 | reset 7 | 8 | #Promt for root password 9 | [ "$UID" -eq 0 ] || exec sudo bash "$0" "$@" 10 | 11 | wifi=() 12 | 13 | until ((${#wifi[@]} > 0)); do 14 | 15 | printf " Scanning Wifi...\n" 16 | 17 | connmanctl enable wifi > /dev/null 2>&1 18 | connmanctl scan wifi > /dev/null 2>&1 19 | connmanctl anget on > /dev/null 2>&1 20 | wifi=$(connmanctl services) 21 | 22 | wifi=(${wifi// / }) 23 | 24 | if [ ${wifi[0]} = "*AR" ]||[ ${wifi[0]} = "*AO" ]||[ ${wifi[0]} = "*A" ]; then 25 | wifi=("${wifi[@]:1}") #removed the 1st parameter 26 | fi 27 | 28 | 29 | done 30 | 31 | for i in "${!wifi[@]}"; do 32 | if (( $(($i % 2 )) == 0 )); then 33 | # i="$(($i-1))" 34 | ssids+=(${wifi[i]}) 35 | fi 36 | done 37 | 38 | printf "\n\tFound SSIDS:\n\n" 39 | for i in "${!ssids[@]}" 40 | do 41 | printf " [$i] - ${ssids[i]}\n" 42 | done 43 | 44 | ssid=-1 45 | 46 | until (($ssid >= 0)) && (($ssid <= $((${#ssids[@]})))); do 47 | printf "\n Enter SSID #, [0-$((${#ssids[@]}-1))]: " 48 | read ssid 49 | 50 | ssid=${ssids[$ssid]} 51 | valid="N" 52 | printf " You selected $ssid, is that correct? [y/N]:" 53 | read valid 54 | 55 | if [ "$valid" = "Y" ]||[ "$valid" = "y" ]; then 56 | : 57 | else 58 | ssid=-1 59 | fi 60 | 61 | done 62 | 63 | printf "\n Username: " 64 | read username 65 | printf " Password: " 66 | read -s password 67 | 68 | for (( i=0;i<=${#wifi[*]};i++ )) 69 | do 70 | 71 | if [ "${wifi[$i]}" == "$ssid" ];then 72 | ssid=${wifi[$i+1]} 73 | 74 | printf "[service_$ssid]\n" > /var/lib/connman/$ssid.config 75 | printf "Type = wifi\n" >> /var/lib/connman/$ssid.config 76 | 77 | ssid_name=(${ssid//_/ }) 78 | 79 | printf "SSID = ${ssid_name[2]}\n" >> /var/lib/connman/$ssid.config 80 | printf "EAP = peap\n" >> /var/lib/connman/$ssid.config 81 | printf "Phase2 = MSCHAPV2\n" >> /var/lib/connman/$ssid.config 82 | printf "Identity= $username\n" >> /var/lib/connman/$ssid.config 83 | printf "Passphrase= $password\n" >> /var/lib/connman/$ssid.config 84 | 85 | printf "\nWrote config to: /var/lib/connman/$ssid.config\n" 86 | 87 | service connman restart 88 | 89 | break 90 | fi 91 | 92 | done 93 | -------------------------------------------------------------------------------- /tools/config_checking/docker/grab.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rm check-config.sh 4 | 5 | wget https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh 6 | chmod +x check-config.sh 7 | -------------------------------------------------------------------------------- /tools/config_checking/docker/readme.md: -------------------------------------------------------------------------------- 1 | From: https://github.com/moby/moby/blob/master/contrib/check-config.sh 2 | -------------------------------------------------------------------------------- /tools/developers/apt-proxy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | echo "Acquire::http::Proxy \"http://apt-proxy.local:3142/\";" > /tmp/apt.conf 4 | echo "Acquire::PDiffs \"false\";" >> /tmp/apt.conf 5 | sudo cp -v /tmp/apt.conf /etc/apt/apt.conf 6 | 7 | -------------------------------------------------------------------------------- /tools/developers/fake_ntp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | date ; 4 | sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z" 5 | date ; 6 | 7 | -------------------------------------------------------------------------------- /tools/developers/nfs-rsync.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | #example: 4 | #/opt/buster/ *(rw,sync,no_subtree_check,no_root_squash) 5 | 6 | if [ "$(which lsb_release)" ] ; then 7 | dist=$(lsb_release -cs) 8 | else 9 | if [ -f /etc/rcn-ee.conf ] ; then 10 | . /etc/rcn-ee.conf 11 | fi 12 | 13 | if [ ! "x${deb_codename}" = "x" ] ;then 14 | dist=${deb_codename} 15 | else 16 | dist="jessie" 17 | fi 18 | fi 19 | 20 | echo "sudo mkdir /tmp/rootfs/" 21 | echo "sudo mount -t nfs -o rw,nfsvers=3,rsize=8192,wsize=8192 192.168.0.12:/opt/${dist}/ /tmp/rootfs/" 22 | 23 | if [ -d /tmp/rootfs/ ] ; then 24 | sudo rsync -aAXx --human-readable --info=name0,progress2 --delete /* /tmp/rootfs/ --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found} 25 | sudo sh -c "echo 'debugfs /sys/kernel/debug debugfs defaults 0 0' > /tmp/rootfs/etc/fstab" 26 | 27 | if [ ! "x${dist}" = "xstretch" ] ;then 28 | if [ -f /tmp/rootfs/lib/systemd/system/connman.service ] ; then 29 | unset check_connman 30 | check_connman=$(cat /tmp/rootfs/lib/systemd/system/connman.service | grep ExecStart | grep eth0 || true) 31 | if [ "x${check_connman}" = "x" ] ; then 32 | sudo sed -i -e 's:-n:-n -I eth0:g' /tmp/rootfs/lib/systemd/system/connman.service 33 | fi 34 | fi 35 | fi 36 | 37 | echo "#uname_r=`uname -r`" 38 | echo "client_ip=`ip addr list eth0 | grep \"inet \" |cut -d' ' -f6|cut -d/ -f1`" 39 | echo "server_ip=192.168.0.12" 40 | echo "gw_ip=192.168.0.1" 41 | echo "root_dir=/opt/${dist}" 42 | fi 43 | 44 | # 45 | -------------------------------------------------------------------------------- /tools/developers/rcnee-testing.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | echo "Acquire::http::Proxy \"http://apt-proxy:3142/\";" > /tmp/apt.conf 4 | echo "Acquire::PDiffs \"false\";" >> /tmp/apt.conf 5 | sudo cp -v /tmp/apt.conf /etc/apt/apt.conf 6 | 7 | echo "deb http://ftp.us.debian.org/debian/ jessie main contrib non-free" > /tmp/sources.list 8 | echo "deb http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free" >> /tmp/sources.list 9 | echo "deb http://security.debian.org/ jessie/updates main contrib non-free" >> /tmp/sources.list 10 | echo "deb [arch=armhf] http://repos.rcn-ee.com/debian/ jessie main" >> /tmp/sources.list 11 | echo "deb [arch=armhf] http://repos.rcn-ee.com/debian-exp/ jessie main" >> /tmp/sources.list 12 | 13 | sudo cp -v /tmp/sources.list /etc/apt/sources.list 14 | -------------------------------------------------------------------------------- /tools/developers/update_initrd.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2014 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | if ! id | grep -q root; then 24 | echo "must be run as root" 25 | exit 26 | fi 27 | 28 | if [ ! -f /boot/initrd.img-$(uname -r) ] ; then 29 | update-initramfs -c -k $(uname -r) 30 | else 31 | update-initramfs -u -k $(uname -r) 32 | fi 33 | 34 | if [ -f /boot/initrd.img-$(uname -r) ] ; then 35 | cp -v /boot/initrd.img-$(uname -r) /boot/uboot/initrd.img 36 | fi -------------------------------------------------------------------------------- /tools/dtc/dtc-3.8.x.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | #git_sha="origin/master" 4 | #git_sha="27cdc1b16f86f970c3c049795d4e71ad531cca3d" 5 | #git_sha="fdc7387845420168ee5dd479fbe4391ff93bddab" 6 | git_sha="65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf" 7 | project="dtc" 8 | server="git://git.kernel.org/pub/scm/linux/kernel/git/jdl" 9 | 10 | if [ ! -f /tmp/git/ ] ; then 11 | mkdir -p /tmp/git/ || true 12 | fi 13 | 14 | git clone ${server}/${project}.git /tmp/git/${project}/ 15 | 16 | cd /tmp/git/${project}/ 17 | make clean 18 | git checkout master -f 19 | git pull || true 20 | 21 | git checkout ${git_sha} -b ${git_sha}-build 22 | git pull git://github.com/RobertCNelson/dtc.git dtc-fixup-65cc4d2 23 | 24 | make clean 25 | make PREFIX=/usr/local/ CC=gcc CROSS_COMPILE= all 26 | echo "Installing into: /usr/local/bin/" 27 | make PREFIX=/usr/local/ install 28 | -------------------------------------------------------------------------------- /tools/eMMC/beaglebone-black-make-microSD-flasher-from-eMMC.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | # 3 | # Copyright (c) 2013-2016 Robert Nelson 4 | # Portions copyright (c) 2014 Charles Steinkuehler 5 | # 6 | # Permission is hereby granted, free of charge, to any person obtaining a copy 7 | # of this software and associated documentation files (the "Software"), to deal 8 | # in the Software without restriction, including without limitation the rights 9 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | # copies of the Software, and to permit persons to whom the Software is 11 | # furnished to do so, subject to the following conditions: 12 | # 13 | # The above copyright notice and this permission notice shall be included in 14 | # all copies or substantial portions of the Software. 15 | # 16 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | # THE SOFTWARE. 23 | 24 | #This script assumes, these packages are installed, as network may not be setup 25 | #dosfstools initramfs-tools rsync u-boot-tools 26 | 27 | source $(dirname "$0")/functions.sh 28 | 29 | check_if_run_as_root 30 | 31 | startup_message 32 | prepare_environment_reverse 33 | 34 | countdown 5 35 | check_running_system_initrd 36 | activate_cylon_leds 37 | prepare_drive_reverse 38 | 39 | -------------------------------------------------------------------------------- /tools/eMMC/init-eMMC-flasher-v3-bbg.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | # 3 | # Copyright (c) 2013-2016 Robert Nelson 4 | # Portions copyright (c) 2014 Charles Steinkuehler 5 | # 6 | # Permission is hereby granted, free of charge, to any person obtaining a copy 7 | # of this software and associated documentation files (the "Software"), to deal 8 | # in the Software without restriction, including without limitation the rights 9 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | # copies of the Software, and to permit persons to whom the Software is 11 | # furnished to do so, subject to the following conditions: 12 | # 13 | # The above copyright notice and this permission notice shall be included in 14 | # all copies or substantial portions of the Software. 15 | # 16 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | # THE SOFTWARE. 23 | 24 | #This script assumes, these packages are installed, as network may not be setup 25 | #dosfstools initramfs-tools rsync u-boot-tools 26 | 27 | source $(dirname "$0")/functions.sh 28 | 29 | #mke2fs -c 30 | #Check the device for bad blocks before creating the file system. 31 | #If this option is specified twice, then a slower read-write test is 32 | #used instead of a fast read-only test. 33 | 34 | mkfs_options="" 35 | #mkfs_options="-c" 36 | #mkfs_options="-cc" 37 | 38 | device_eeprom="bbg-eeprom" 39 | 40 | check_if_run_as_root 41 | 42 | startup_message 43 | prepare_environment 44 | 45 | countdown 5 46 | check_eeprom 47 | check_running_system 48 | activate_cylon_leds 49 | prepare_drive 50 | # 51 | -------------------------------------------------------------------------------- /tools/eMMC/init-eMMC-flasher-v3-m10a.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | # 3 | # Copyright (c) 2013-2016 Robert Nelson 4 | # Portions copyright (c) 2014 Charles Steinkuehler 5 | # 6 | # Permission is hereby granted, free of charge, to any person obtaining a copy 7 | # of this software and associated documentation files (the "Software"), to deal 8 | # in the Software without restriction, including without limitation the rights 9 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | # copies of the Software, and to permit persons to whom the Software is 11 | # furnished to do so, subject to the following conditions: 12 | # 13 | # The above copyright notice and this permission notice shall be included in 14 | # all copies or substantial portions of the Software. 15 | # 16 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | # THE SOFTWARE. 23 | 24 | #This script assumes, these packages are installed, as network may not be setup 25 | #dosfstools initramfs-tools rsync u-boot-tools 26 | 27 | source $(dirname "$0")/functions.sh 28 | 29 | #mke2fs -c 30 | #Check the device for bad blocks before creating the file system. 31 | #If this option is specified twice, then a slower read-write test is 32 | #used instead of a fast read-only test. 33 | 34 | mkfs_options="" 35 | #mkfs_options="-c" 36 | #mkfs_options="-cc" 37 | 38 | device_eeprom="m10a-eeprom" 39 | 40 | check_if_run_as_root 41 | 42 | startup_message 43 | prepare_environment 44 | 45 | countdown 5 46 | check_eeprom 47 | check_running_system 48 | activate_cylon_leds 49 | prepare_drive 50 | # 51 | -------------------------------------------------------------------------------- /tools/eMMC/init-eMMC-flasher-v3-me06.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | # 3 | # Copyright (c) 2013-2016 Robert Nelson 4 | # Portions copyright (c) 2014 Charles Steinkuehler 5 | # 6 | # Permission is hereby granted, free of charge, to any person obtaining a copy 7 | # of this software and associated documentation files (the "Software"), to deal 8 | # in the Software without restriction, including without limitation the rights 9 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | # copies of the Software, and to permit persons to whom the Software is 11 | # furnished to do so, subject to the following conditions: 12 | # 13 | # The above copyright notice and this permission notice shall be included in 14 | # all copies or substantial portions of the Software. 15 | # 16 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | # THE SOFTWARE. 23 | 24 | #This script assumes, these packages are installed, as network may not be setup 25 | #dosfstools initramfs-tools rsync u-boot-tools 26 | 27 | source $(dirname "$0")/functions.sh 28 | 29 | #mke2fs -c 30 | #Check the device for bad blocks before creating the file system. 31 | #If this option is specified twice, then a slower read-write test is 32 | #used instead of a fast read-only test. 33 | 34 | mkfs_options="" 35 | #mkfs_options="-c" 36 | #mkfs_options="-cc" 37 | 38 | device_eeprom="me06-eeprom" 39 | 40 | check_if_run_as_root 41 | 42 | startup_message 43 | prepare_environment 44 | 45 | countdown 5 46 | check_eeprom 47 | check_running_system 48 | activate_cylon_leds 49 | prepare_drive 50 | # 51 | -------------------------------------------------------------------------------- /tools/eMMC/init-eMMC-flasher-v3-no-eeprom.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | # 3 | # Copyright (c) 2013-2017 Robert Nelson 4 | # Portions copyright (c) 2014 Charles Steinkuehler 5 | # 6 | # Permission is hereby granted, free of charge, to any person obtaining a copy 7 | # of this software and associated documentation files (the "Software"), to deal 8 | # in the Software without restriction, including without limitation the rights 9 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | # copies of the Software, and to permit persons to whom the Software is 11 | # furnished to do so, subject to the following conditions: 12 | # 13 | # The above copyright notice and this permission notice shall be included in 14 | # all copies or substantial portions of the Software. 15 | # 16 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | # THE SOFTWARE. 23 | 24 | #This script assumes, these packages are installed, as network may not be setup 25 | #dosfstools initramfs-tools rsync u-boot-tools 26 | 27 | source $(dirname "$0")/functions.sh 28 | 29 | #mke2fs -c 30 | #Check the device for bad blocks before creating the file system. 31 | #If this option is specified twice, then a slower read-write test is 32 | #used instead of a fast read-only test. 33 | 34 | mkfs_options="" 35 | #mkfs_options="-c" 36 | #mkfs_options="-cc" 37 | 38 | check_if_run_as_root 39 | 40 | startup_message 41 | prepare_environment 42 | 43 | countdown 5 44 | check_running_system 45 | activate_cylon_leds 46 | prepare_drive 47 | # 48 | -------------------------------------------------------------------------------- /tools/eMMC/init-eMMC-flasher-v3-x15_b1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | # 3 | # Copyright (c) 2013-2016 Robert Nelson 4 | # Portions copyright (c) 2014 Charles Steinkuehler 5 | # 6 | # Permission is hereby granted, free of charge, to any person obtaining a copy 7 | # of this software and associated documentation files (the "Software"), to deal 8 | # in the Software without restriction, including without limitation the rights 9 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | # copies of the Software, and to permit persons to whom the Software is 11 | # furnished to do so, subject to the following conditions: 12 | # 13 | # The above copyright notice and this permission notice shall be included in 14 | # all copies or substantial portions of the Software. 15 | # 16 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | # THE SOFTWARE. 23 | 24 | #This script assumes, these packages are installed, as network may not be setup 25 | #dosfstools initramfs-tools rsync u-boot-tools 26 | 27 | source $(dirname "$0")/functions.sh 28 | 29 | #mke2fs -c 30 | #Check the device for bad blocks before creating the file system. 31 | #If this option is specified twice, then a slower read-write test is 32 | #used instead of a fast read-only test. 33 | 34 | mkfs_options="" 35 | #mkfs_options="-c" 36 | #mkfs_options="-cc" 37 | 38 | device_eeprom="x15/X15_B1-eeprom" 39 | 40 | check_if_run_as_root 41 | 42 | startup_message 43 | prepare_environment 44 | 45 | countdown 5 46 | check_am57xx_eeprom 47 | check_running_system 48 | activate_cylon_leds 49 | prepare_drive 50 | # 51 | -------------------------------------------------------------------------------- /tools/eMMC/init-eMMC-flasher-v3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | # 3 | # Copyright (c) 2013-2016 Robert Nelson 4 | # Portions copyright (c) 2014 Charles Steinkuehler 5 | # 6 | # Permission is hereby granted, free of charge, to any person obtaining a copy 7 | # of this software and associated documentation files (the "Software"), to deal 8 | # in the Software without restriction, including without limitation the rights 9 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | # copies of the Software, and to permit persons to whom the Software is 11 | # furnished to do so, subject to the following conditions: 12 | # 13 | # The above copyright notice and this permission notice shall be included in 14 | # all copies or substantial portions of the Software. 15 | # 16 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | # THE SOFTWARE. 23 | 24 | #This script assumes, these packages are installed, as network may not be setup 25 | #dosfstools initramfs-tools rsync u-boot-tools 26 | 27 | source $(dirname "$0")/functions.sh 28 | 29 | #mke2fs -c 30 | #Check the device for bad blocks before creating the file system. 31 | #If this option is specified twice, then a slower read-write test is 32 | #used instead of a fast read-only test. 33 | 34 | mkfs_options="" 35 | #mkfs_options="-c" 36 | #mkfs_options="-cc" 37 | 38 | device_eeprom="bbb-eeprom" 39 | 40 | check_if_run_as_root 41 | 42 | startup_message 43 | prepare_environment 44 | 45 | countdown 5 46 | check_eeprom 47 | check_running_system 48 | activate_cylon_leds 49 | prepare_drive 50 | 51 | -------------------------------------------------------------------------------- /tools/eMMC/readme.md: -------------------------------------------------------------------------------- 1 | #Current: 2 | 3 | - init-eMMC-flasher-v3.sh 4 | 5 | - Current BeagleBone Black production flasher, runs in single user mode: 6 | 7 | ``` 8 | cmdline=init=/init-eMMC-flasher-v3.sh 9 | ``` 10 | 11 | - init-eMMC-flasher-v3-bbg.sh 12 | 13 | - Current BeagleBone Green production flasher, runs in single user mode: 14 | 15 | ``` 16 | cmdline=init=/init-eMMC-flasher-v3-bbg.sh 17 | ``` 18 | 19 | - beaglebone-black-make-microSD-flasher-from-eMMC.sh 20 | 21 | - Clones eMMC to microSD and sets it up to flash the eMMC. 22 | 23 | ``` 24 | sudo ./beaglebone-black-make-microSD-flasher-from-eMMC.sh 25 | ``` 26 | 27 | - bbb-eMMC-flasher-eewiki-ext4.sh 28 | 29 | - Clones microSD to eMMC as a single ext4 partition. 30 | 31 | ``` 32 | sudo ./bbb-eMMC-flasher-eewiki-ext4.sh 33 | ``` 34 | 35 | 36 | #In development: 37 | 38 | - init-eMMC-flasher-from-usb-media.sh 39 | 40 | #Obsolete: 41 | 42 | - bbb-eMMC-flasher-eewiki-12mb.sh 43 | 44 | - replaced by: bbb-eMMC-flasher-eewiki-ext4.sh 45 | 46 | - init-eMMC-flasher-v2.sh: 47 | 48 | - replaced by: init-eMMC-flasher-v3.sh 49 | -------------------------------------------------------------------------------- /tools/generate_extlinux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | 4 | if ! id | grep -q root; then 5 | echo "must be run as root" 6 | exit 7 | fi 8 | 9 | if [ ! -d /boot/extlinux/ ] ; then 10 | mkdir /boot/extlinux/ || true 11 | fi 12 | 13 | var_uname_r=$(cat /boot/uEnv.txt | grep -v '#' | sed 's/ /\n/g' | grep 'uname_r=' | awk -F"=" '{print $2}' || true) 14 | var_cmdline=$(cat /boot/uEnv.txt | grep -v '#' | grep 'cmdline=' || true) 15 | var_cmdline=${var_cmdline##*cmdline=} 16 | 17 | unset root_drive 18 | root_drive="$(cat /proc/cmdline | sed 's/ /\n/g' | grep ^root=UUID= | awk -F 'root=' '{print $2}' || true)" 19 | if [ ! "x${root_drive}" = "x" ] ; then 20 | root_drive="$(/sbin/findfs ${root_drive} || true)" 21 | else 22 | root_drive="$(cat /proc/cmdline | sed 's/ /\n/g' | grep ^root= | awk -F 'root=' '{print $2}' || true)" 23 | fi 24 | 25 | var_file_system="console=ttyS0,115200n8 root=${root_drive} ro rootfstype=ext4 rootwait" 26 | 27 | if [ ! "x${var_uname_r}" = "x" ] ; then 28 | echo "label Linux ${var_uname_r}" > /boot/extlinux/extlinux.conf 29 | echo " kernel /boot/vmlinuz-${var_uname_r}" >> /boot/extlinux/extlinux.conf 30 | if [ ! "x${var_cmdline}" = "x" ] ; then 31 | echo " append ${var_file_system} ${var_cmdline}" >> /boot/extlinux/extlinux.conf 32 | else 33 | echo " append ${var_file_system}" >> /boot/extlinux/extlinux.conf 34 | fi 35 | echo " fdtdir /boot/dtbs/${var_uname_r}/" >> /boot/extlinux/extlinux.conf 36 | fi 37 | 38 | if [ -f /boot/extlinux/extlinux.conf ] ; then 39 | echo "debug: /boot/extlinux/extlinux.conf" 40 | echo "-----------------------------------" 41 | cat /boot/extlinux/extlinux.conf 42 | echo "-----------------------------------" 43 | fi 44 | 45 | -------------------------------------------------------------------------------- /tools/graphics/fsl-etnaviv.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2014 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | check_dpkg () { 24 | LC_ALL=C dpkg --list | awk '{print $2}' | grep "^${pkg}$" >/dev/null || deb_pkgs="${deb_pkgs}${pkg} " 25 | } 26 | 27 | deb_distro=$(lsb_release -cs) 28 | deb_arch=$(LC_ALL=C dpkg --print-architecture) 29 | 30 | unset deb_pkgs 31 | 32 | pkg="libdrm-etnaviv0:${deb_arch}" 33 | check_dpkg 34 | #utils: 35 | pkg="read-edid" 36 | check_dpkg 37 | pkg="x11-xserver-utils" 38 | check_dpkg 39 | #devel 40 | pkg="libdrm-dev:${deb_arch}" 41 | check_dpkg 42 | pkg="git-core" 43 | check_dpkg 44 | pkg="build-essential" 45 | check_dpkg 46 | pkg="autoconf" 47 | check_dpkg 48 | pkg="libtool" 49 | check_dpkg 50 | pkg="pkg-config" 51 | check_dpkg 52 | pkg="xutils-dev" 53 | check_dpkg 54 | pkg="xserver-xorg-dev" 55 | check_dpkg 56 | pkg="libudev-dev:${deb_arch}" 57 | check_dpkg 58 | 59 | if [ "${deb_pkgs}" ] ; then 60 | echo "" 61 | echo "Installing: ${deb_pkgs}" 62 | sudo apt-get update 63 | sudo apt-get -y install ${deb_pkgs} 64 | sudo apt-get clean 65 | echo "--------------------" 66 | fi 67 | 68 | #git_sha="origin/master" 69 | git_sha="origin/unstable-devel" 70 | project="xf86-video-armada" 71 | server="git://ftp.arm.linux.org.uk/~rmk" 72 | 73 | if [ ! -f ${HOME}/git/${project}/.git/config ] ; then 74 | git clone ${server}/${project}.git ${HOME}/git/${project}/ 75 | fi 76 | 77 | if [ ! -f ${HOME}/git/${project}/.git/config ] ; then 78 | rm -rf ${HOME}/git/${project}/ || true 79 | echo "error: git failure, try re-runing" 80 | exit 81 | fi 82 | 83 | cd ${HOME}/git/${project}/ 84 | make clean || true 85 | git checkout master -f 86 | git pull || true 87 | 88 | test_for_branch=$(git branch --list ${git_sha}-build) 89 | if [ "x${test_for_branch}" != "x" ] ; then 90 | git branch ${git_sha}-build -D 91 | fi 92 | 93 | git checkout ${git_sha} -b ${git_sha}-build 94 | ./autogen.sh --prefix=/usr --disable-etnaviv 95 | make 96 | sudo make install 97 | 98 | exit 99 | 100 | if [ ! -d /etc/X11/ ] ; then 101 | sudo mkdir -p /etc/X11/ || true 102 | fi 103 | 104 | if [ -f /etc/X11/xorg.conf ] ; then 105 | sudo rm -rf /etc/X11/xorg.conf.bak || true 106 | sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak 107 | fi 108 | 109 | cat > /tmp/xorg.conf <<-__EOF__ 110 | Section "Monitor" 111 | Identifier "Builtin Default Monitor" 112 | EndSection 113 | 114 | Section "Device" 115 | Identifier "Builtin Default fbdev Device 0" 116 | Driver "modesetting" 117 | Option "SWCursor" "true" 118 | EndSection 119 | 120 | Section "Screen" 121 | Identifier "Builtin Default fbdev Screen 0" 122 | Device "Builtin Default fbdev Device 0" 123 | Monitor "Builtin Default Monitor" 124 | DefaultDepth 24 125 | EndSection 126 | 127 | Section "ServerLayout" 128 | Identifier "Builtin Default Layout" 129 | Screen "Builtin Default fbdev Screen 0" 130 | EndSection 131 | __EOF__ 132 | 133 | sudo cp -v /tmp/xorg.conf /etc/X11/xorg.conf 134 | # 135 | -------------------------------------------------------------------------------- /tools/graphics/fsl-imx-drm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2014 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | check_dpkg () { 24 | LC_ALL=C dpkg --list | awk '{print $2}' | grep "^${pkg}$" >/dev/null || deb_pkgs="${deb_pkgs}${pkg} " 25 | } 26 | 27 | deb_distro=$(lsb_release -cs) 28 | deb_arch=$(LC_ALL=C dpkg --print-architecture) 29 | 30 | unset deb_pkgs 31 | 32 | #utils: 33 | pkg="read-edid" 34 | check_dpkg 35 | pkg="xserver-xorg-video-modesetting" 36 | check_dpkg 37 | pkg="x11-xserver-utils" 38 | check_dpkg 39 | 40 | if [ "${deb_pkgs}" ] ; then 41 | echo "" 42 | echo "Installing: ${deb_pkgs}" 43 | sudo apt-get update 44 | sudo apt-get -y install ${deb_pkgs} 45 | sudo apt-get clean 46 | echo "--------------------" 47 | fi 48 | 49 | if [ ! -d /etc/X11/ ] ; then 50 | sudo mkdir -p /etc/X11/ || true 51 | fi 52 | 53 | if [ -f /etc/X11/xorg.conf ] ; then 54 | sudo rm -rf /etc/X11/xorg.conf.bak || true 55 | sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak 56 | fi 57 | 58 | cat > /tmp/xorg.conf <<-__EOF__ 59 | Section "Monitor" 60 | Identifier "Builtin Default Monitor" 61 | EndSection 62 | 63 | Section "Device" 64 | Identifier "Builtin Default fbdev Device 0" 65 | Driver "modesetting" 66 | Option "SWCursor" "true" 67 | EndSection 68 | 69 | Section "Screen" 70 | Identifier "Builtin Default fbdev Screen 0" 71 | Device "Builtin Default fbdev Device 0" 72 | Monitor "Builtin Default Monitor" 73 | DefaultDepth 24 74 | EndSection 75 | 76 | Section "ServerLayout" 77 | Identifier "Builtin Default Layout" 78 | Screen "Builtin Default fbdev Screen 0" 79 | EndSection 80 | __EOF__ 81 | 82 | sudo cp -v /tmp/xorg.conf /etc/X11/xorg.conf 83 | # 84 | -------------------------------------------------------------------------------- /tools/graphics/ti-omapdrm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2012-2014 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | check_dpkg () { 24 | LC_ALL=C dpkg --list | awk '{print $2}' | grep "^${pkg}$" >/dev/null || deb_pkgs="${deb_pkgs}${pkg} " 25 | } 26 | 27 | deb_distro=$(lsb_release -cs) 28 | deb_arch=$(LC_ALL=C dpkg --print-architecture) 29 | 30 | unset deb_pkgs 31 | pkg="read-edid" 32 | check_dpkg 33 | pkg="x11-xserver-utils" 34 | check_dpkg 35 | 36 | pkg="libdrm-omap1:${deb_arch}" 37 | check_dpkg 38 | pkg="xserver-xorg-video-omap" 39 | check_dpkg 40 | 41 | if [ "${deb_pkgs}" ] ; then 42 | echo "" 43 | echo "Installing: ${deb_pkgs}" 44 | sudo apt-get update 45 | sudo apt-get -y install ${deb_pkgs} 46 | sudo apt-get clean 47 | echo "--------------------" 48 | fi 49 | 50 | if [ ! -d /etc/X11/ ] ; then 51 | sudo mkdir -p /etc/X11/ || true 52 | fi 53 | 54 | if [ -f /etc/X11/xorg.conf ] ; then 55 | sudo rm -rf /etc/X11/xorg.conf.bak || true 56 | sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak 57 | fi 58 | 59 | cat > /tmp/xorg.conf <<-__EOF__ 60 | Section "Monitor" 61 | Identifier "Builtin Default Monitor" 62 | EndSection 63 | 64 | Section "Device" 65 | Identifier "Builtin Default fbdev Device 0" 66 | Driver "omap" 67 | Option "HWcursor" "false" 68 | EndSection 69 | 70 | Section "Screen" 71 | Identifier "Builtin Default fbdev Screen 0" 72 | Device "Builtin Default fbdev Device 0" 73 | Monitor "Builtin Default Monitor" 74 | DefaultDepth 16 75 | EndSection 76 | 77 | Section "ServerLayout" 78 | Identifier "Builtin Default Layout" 79 | Screen "Builtin Default fbdev Screen 0" 80 | EndSection 81 | __EOF__ 82 | 83 | sudo cp -v /tmp/xorg.conf /etc/X11/xorg.conf 84 | # 85 | -------------------------------------------------------------------------------- /tools/graphics/ti-tilcdc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2014 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | check_dpkg () { 24 | LC_ALL=C dpkg --list | awk '{print $2}' | grep "^${pkg}$" >/dev/null || deb_pkgs="${deb_pkgs}${pkg} " 25 | } 26 | 27 | deb_arch=$(LC_ALL=C dpkg --print-architecture) 28 | 29 | unset deb_pkgs 30 | 31 | #utils: 32 | pkg="read-edid" 33 | check_dpkg 34 | pkg="xserver-xorg-video-fbdev" 35 | check_dpkg 36 | pkg="x11-xserver-utils" 37 | check_dpkg 38 | 39 | if [ "${deb_pkgs}" ] ; then 40 | echo "" 41 | echo "Installing: ${deb_pkgs}" 42 | sudo apt-get update 43 | sudo apt-get -y install ${deb_pkgs} 44 | sudo apt-get clean 45 | echo "--------------------" 46 | fi 47 | 48 | if [ ! -d /etc/X11/ ] ; then 49 | sudo mkdir -p /etc/X11/ || true 50 | fi 51 | 52 | if [ -f /etc/X11/xorg.conf ] ; then 53 | sudo rm -rf /etc/X11/xorg.conf.bak || true 54 | sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak 55 | fi 56 | 57 | cat > /tmp/xorg.conf <<-__EOF__ 58 | Section "Monitor" 59 | Identifier "Builtin Default Monitor" 60 | EndSection 61 | 62 | Section "Device" 63 | Identifier "Builtin Default fbdev Device 0" 64 | Driver "fbdev" 65 | Option "SWCursor" "true" 66 | EndSection 67 | 68 | Section "Screen" 69 | Identifier "Builtin Default fbdev Screen 0" 70 | Device "Builtin Default fbdev Device 0" 71 | Monitor "Builtin Default Monitor" 72 | DefaultDepth 16 73 | EndSection 74 | 75 | Section "ServerLayout" 76 | Identifier "Builtin Default Layout" 77 | Screen "Builtin Default fbdev Screen 0" 78 | EndSection 79 | __EOF__ 80 | 81 | sudo cp -v /tmp/xorg.conf /etc/X11/xorg.conf 82 | # 83 | -------------------------------------------------------------------------------- /tools/grow_partition.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2014-2018 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | if ! id | grep -q root; then 24 | echo "must be run as root" 25 | exit 26 | fi 27 | 28 | if [ ! -f /etc/ssh/ssh_host_ecdsa_key.pub ] ; then 29 | echo "Please wait a few more seconds as ssh keys are still being generated..." 30 | exit 1 31 | fi 32 | 33 | unset root_drive 34 | root_drive="$(cat /proc/cmdline | sed 's/ /\n/g' | grep ^root=UUID= | awk -F 'root=' '{print $2}' || true)" 35 | if [ ! "x${root_drive}" = "x" ] ; then 36 | root_drive="$(/sbin/findfs ${root_drive} || true)" 37 | else 38 | root_drive="$(cat /proc/cmdline | sed 's/ /\n/g' | grep ^root= | awk -F 'root=' '{print $2}' || true)" 39 | fi 40 | 41 | if [ ! "x${root_drive}" = "x" ] ; then 42 | boot_drive="${root_drive%?}1" 43 | else 44 | echo "Error: script halting, could not detect drive..." 45 | exit 1 46 | fi 47 | 48 | single_partition () { 49 | echo "${drive}p1" > /var/resizerootfs 50 | conf_boot_startmb=${conf_boot_startmb:-"4"} 51 | sfdisk_fstype=${sfdisk_fstype:-"L"} 52 | if [ "x${sfdisk_fstype}" = "x0x83" ] ; then 53 | sfdisk_fstype="L" 54 | fi 55 | 56 | sfdisk_options="--force --no-reread --Linux --in-order --unit M" 57 | test_sfdisk=$(LC_ALL=C sfdisk --help | grep -m 1 -e "--in-order" || true) 58 | if [ "x${test_sfdisk}" = "x" ] ; then 59 | echo "sfdisk: 2.26.x or greater" 60 | sfdisk_options="--force --no-reread" 61 | conf_boot_startmb="${conf_boot_startmb}M" 62 | fi 63 | 64 | LC_ALL=C sfdisk ${sfdisk_options} ${drive} <<-__EOF__ 65 | ${conf_boot_startmb},,${sfdisk_fstype},* 66 | __EOF__ 67 | } 68 | 69 | dual_partition () { 70 | echo "${drive}p2" > /var/resizerootfs 71 | conf_boot_startmb=${conf_boot_startmb:-"4"} 72 | conf_boot_endmb=${conf_boot_endmb:-"96"} 73 | sfdisk_fstype=${sfdisk_fstype:-"E"} 74 | 75 | sfdisk_options="--force --no-reread --Linux --in-order --unit M" 76 | test_sfdisk=$(LC_ALL=C sfdisk --help | grep -m 1 -e "--in-order" || true) 77 | if [ "x${test_sfdisk}" = "x" ] ; then 78 | echo "sfdisk: 2.26.x or greater" 79 | sfdisk_options="--force --no-reread" 80 | if [ "x${uboot_efi_mode}" = "xenable" ] ; then 81 | sfdisk_options="--force --no-reread --label gpt" 82 | fi 83 | conf_boot_startmb="${conf_boot_startmb}M" 84 | conf_boot_endmb="${conf_boot_endmb}M" 85 | fi 86 | 87 | LC_ALL=C sfdisk ${sfdisk_options} ${drive} <<-__EOF__ 88 | ${conf_boot_startmb},${conf_boot_endmb},${sfdisk_fstype},* 89 | ,,,- 90 | __EOF__ 91 | } 92 | 93 | expand_partition () { 94 | if [ -f /boot/SOC.sh ] ; then 95 | . /boot/SOC.sh 96 | fi 97 | 98 | if [ "x${boot_drive}" = "x/dev/mmcblk0p1" ] ; then 99 | drive="/dev/mmcblk0" 100 | elif [ "x${boot_drive}" = "x/dev/mmcblk1p1" ] ; then 101 | drive="/dev/mmcblk1" 102 | else 103 | echo "Error: script halting, could not detect drive..." 104 | exit 1 105 | fi 106 | 107 | echo "Media: [${drive}]" 108 | 109 | if [ "x${boot_drive}" = "x${root_drive}" ] ; then 110 | single_partition 111 | else 112 | dual_partition 113 | fi 114 | } 115 | 116 | expand_partition 117 | echo "reboot" 118 | # 119 | -------------------------------------------------------------------------------- /tools/readme.txt: -------------------------------------------------------------------------------- 1 | WARNING: Do not use: 2 | 3 | beaglebone-black-eMMC-flasher.sh 4 | init-eMMC-flasher.sh 5 | 6 | They are only in this directory for support of the Ancient 2014 release. 7 | -------------------------------------------------------------------------------- /tools/software/add_nodesource_repo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if ! id | grep -q root; then 4 | echo "must be run as root" 5 | exit 6 | fi 7 | 8 | deb_distro=$(lsb_release -cs | sed 's/\//_/g') 9 | 10 | check_dpkg () { 11 | LC_ALL=C dpkg --list | awk '{print $2}' | grep "^${pkg}$" >/dev/null || deb_pkgs="${deb_pkgs}${pkg} " 12 | } 13 | 14 | check_dpkg_installed () { 15 | LC_ALL=C dpkg --list | awk '{print $2}' | grep "^${pkg}$" >/dev/null && deb_pkgs="${deb_pkgs}${pkg} " 16 | } 17 | 18 | apt-get update 19 | 20 | unset deb_pkgs 21 | pkg="apt-transport-https" ; check_dpkg 22 | if [ ! "x${deb_pkgs}" = "x" ] ; then 23 | apt-get install -y ${deb_pkgs} 24 | fi 25 | 26 | apt-get -y upgrade 27 | 28 | unset deb_pkgs 29 | pkg="nodejs-dev" ; check_dpkg_installed 30 | pkg="nodejs-v0.12.x" ; check_dpkg_installed 31 | pkg="nodejs-v0.12.x-legacy" ; check_dpkg_installed 32 | 33 | if [ ! "x${deb_pkgs}" = "x" ] ; then 34 | echo "removing conflicting packages" 35 | apt-get remove -y ${deb_pkgs} --purge 36 | fi 37 | 38 | wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - 39 | 40 | check_sources=$(cat /etc/apt/sources.list | grep -v "#" | grep deb.nodesource.com || true) 41 | if [ "x${check_sources}" = "x" ] ; then 42 | echo "adding nodesource repo" 43 | echo "" >> /etc/apt/sources.list 44 | echo "deb https://deb.nodesource.com/node_0.12 ${deb_distro} main" >> /etc/apt/sources.list 45 | echo "#deb-src https://deb.nodesource.com/node_0.12 ${deb_distro} main" >> /etc/apt/sources.list 46 | fi 47 | 48 | apt-get update 49 | apt-get install -y nodejs 50 | 51 | echo "node: [`/usr/bin/node --version`]" 52 | echo "npm: [`/usr/bin/node /usr/bin/npm --version`]" 53 | # 54 | -------------------------------------------------------------------------------- /tools/software/hologram-tools/.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | 5 | # C extensions 6 | *.so 7 | 8 | # Distribution / packaging 9 | .Python 10 | env/ 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | *.egg-info/ 23 | .installed.cfg 24 | *.egg 25 | 26 | # PyInstaller 27 | # Usually these files are written by a python script from a template 28 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 29 | *.manifest 30 | *.spec 31 | 32 | # Installer logs 33 | pip-log.txt 34 | pip-delete-this-directory.txt 35 | 36 | # Unit test / coverage reports 37 | htmlcov/ 38 | .tox/ 39 | .coverage 40 | .coverage.* 41 | .cache 42 | nosetests.xml 43 | coverage.xml 44 | *,cover 45 | 46 | # Translations 47 | *.mo 48 | *.pot 49 | 50 | # Django stuff: 51 | *.log 52 | 53 | # Sphinx documentation 54 | docs/_build/ 55 | 56 | # PyBuilder 57 | target/ 58 | -------------------------------------------------------------------------------- /tools/software/hologram-tools/README.md: -------------------------------------------------------------------------------- 1 | # hologram-tools 2 | The client-side tools you need to help build your next cellular-connected product 3 | 4 | ## ppp 5 | Useful ppp chatscripts for quickly getting your USB cellular modem online 6 | 7 | ## For more information 8 | Questions? Chat about them at: https://community.hologram.io 9 | -------------------------------------------------------------------------------- /tools/software/hologram-tools/imported_from.txt: -------------------------------------------------------------------------------- 1 | https://github.com/hologram-io/hologram-tools 2 | -------------------------------------------------------------------------------- /tools/software/hologram-tools/ppp/chatscripts/e303: -------------------------------------------------------------------------------- 1 | # Chat script for Huawei E303 using Hologram SIM card 2 | # See hologram.io for more information 3 | 4 | ABORT 'BUSY' 5 | ABORT 'NO CARRIER' 6 | ABORT 'VOICE' 7 | ABORT 'NO DIALTONE' 8 | ABORT 'NO DIAL TONE' 9 | ABORT 'NO ANSWER' 10 | ABORT 'DELAYED' 11 | TIMEOUT 12 12 | REPORT CONNECT 13 | 14 | "" AT 15 | OK ATH 16 | OK ATZ 17 | OK ATQ0 18 | OK AT+CGDCONT=1,"IP","hologram" 19 | OK ATDT*99***1# 20 | CONNECT '' 21 | -------------------------------------------------------------------------------- /tools/software/hologram-tools/ppp/chatscripts/ms2131: -------------------------------------------------------------------------------- 1 | # Chat script for Huawei E303 using Hologram SIM card 2 | # See hologram.io for more information 3 | 4 | ABORT 'BUSY' 5 | ABORT 'NO CARRIER' 6 | ABORT 'VOICE' 7 | ABORT 'NO DIALTONE' 8 | ABORT 'NO DIAL TONE' 9 | ABORT 'NO ANSWER' 10 | ABORT 'DELAYED' 11 | TIMEOUT 12 12 | REPORT CONNECT 13 | 14 | "" AT 15 | OK ATH 16 | OK ATZ 17 | OK ATQ0 18 | OK AT+CGDCONT=1,"IP","hologram" 19 | OK ATDT*99***1# 20 | CONNECT '' 21 | -------------------------------------------------------------------------------- /tools/software/hologram-tools/ppp/chatscripts/nova: -------------------------------------------------------------------------------- 1 | # Chat script for Hologram Nova using Hologram SIM card 2 | # See hologram.io for more information 3 | 4 | ABORT 'BUSY' 5 | ABORT 'NO CARRIER' 6 | ABORT 'VOICE' 7 | ABORT 'NO DIALTONE' 8 | ABORT 'NO DIAL TONE' 9 | ABORT 'NO ANSWER' 10 | ABORT 'DELAYED' 11 | TIMEOUT 12 12 | REPORT CONNECT 13 | 14 | "" AT 15 | OK ATH 16 | OK ATZ 17 | OK ATQ0 18 | OK AT+CGDCONT=1,"IP","hologram" 19 | OK ATDT*99***1# 20 | CONNECT '' 21 | -------------------------------------------------------------------------------- /tools/software/hologram-tools/ppp/chatscripts/nova-m: -------------------------------------------------------------------------------- 1 | # Chat script for Hologram Nova using Hologram SIM card 2 | # See hologram.io for more information 3 | 4 | ABORT 'BUSY' 5 | ABORT 'NO CARRIER' 6 | ABORT 'VOICE' 7 | ABORT 'NO DIALTONE' 8 | ABORT 'NO DIAL TONE' 9 | ABORT 'NO ANSWER' 10 | ABORT 'DELAYED' 11 | TIMEOUT 12 12 | REPORT CONNECT 13 | 14 | "" AT 15 | OK ATH 16 | OK ATZ 17 | OK ATQ0 18 | OK ATD*99***1# 19 | CONNECT '' 20 | -------------------------------------------------------------------------------- /tools/software/hologram-tools/ppp/peers/e303: -------------------------------------------------------------------------------- 1 | # PPP configuration for E303 modem using Hologram SIM card 2 | # For more information see hologram.io 3 | 4 | connect "/usr/sbin/chat -v -f /etc/chatscripts/e303 " 5 | 6 | # Serial device to which the modem is connected. 7 | /dev/ttyUSB0 8 | 9 | # Speed of the serial line. 10 | 9600 11 | 12 | # Assumes that your IP address is allocated dynamically by the ISP. 13 | noipdefault 14 | # Try to get the name server addresses from the ISP. 15 | usepeerdns 16 | # Use this connection as the default route. 17 | defaultroute 18 | 19 | # Makes pppd "dial again" when the connection is lost. 20 | persist 21 | 22 | # Do not ask the remote to authenticate. 23 | noauth 24 | 25 | -------------------------------------------------------------------------------- /tools/software/hologram-tools/ppp/peers/nova: -------------------------------------------------------------------------------- 1 | # PPP configuration for Hologram Nova modem using Hologram SIM card 2 | # For more information see hologram.io 3 | 4 | connect "/usr/sbin/chat -v -f /etc/chatscripts/nova " 5 | 6 | # Serial device to which the modem is connected. 7 | /dev/ttyACM0 8 | 9 | # Speed of the serial line. 10 | 9600 11 | 12 | # Assumes that your IP address is allocated dynamically by the ISP. 13 | noipdefault 14 | # Try to get the name server addresses from the ISP. 15 | usepeerdns 16 | # Use this connection as the default route. 17 | defaultroute 18 | 19 | # Makes pppd "dial again" when the connection is lost. 20 | persist 21 | 22 | # Do not ask the remote to authenticate. 23 | noauth 24 | -------------------------------------------------------------------------------- /tools/software/hologram-tools/ppp/peers/nova-m: -------------------------------------------------------------------------------- 1 | # PPP configuration for Hologram Nova modem using Hologram SIM card 2 | # For more information see hologram.io 3 | 4 | connect "/usr/sbin/chat -v -f /etc/chatscripts/nova-m " 5 | 6 | # Serial device to which the modem is connected. 7 | /dev/ttyUSB2 8 | 9 | # Speed of the serial line. 10 | 115200 11 | 12 | # Assumes that your IP address is allocated dynamically by the ISP. 13 | noipdefault 14 | # Try to get the name server addresses from the ISP. 15 | usepeerdns 16 | # Use this connection as the default route. 17 | defaultroute 18 | 19 | # Makes pppd "dial again" when the connection is lost. 20 | persist 21 | 22 | # Do not ask the remote to authenticate. 23 | noauth 24 | -------------------------------------------------------------------------------- /tools/software/mjpg-streamer/README.md: -------------------------------------------------------------------------------- 1 | To install and run mjpg_streamer on a BeagleBone with a Logitech C270/C920 webcam: 2 | 3 | debian@beaglebone:~$ 4 | debian@beaglebone:~$ cd /opt/scripts/tools/software/mjpg-streamer/ 5 | debian@beaglebone:/opt/scripts/tools/software/mjpg-streamer$ git pull 6 | Already up-to-date. 7 | debian@beaglebone:/opt/scripts/tools/software/mjpg-streamer$ sudo ./install_mjpg_streamer.sh 8 | 9 | Browse to your BeagleBone from a web browser specifying port 8090: http://beaglebone.local:8090 10 | 11 | If you are looking for a quick python script to listen to the stream, try https://gist.github.com/jadonk/2a045611c134e2307a772a721b66ff5d. 12 | -------------------------------------------------------------------------------- /tools/software/mjpg-streamer/install_mjpg_streamer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if ! id | grep -q root; then 4 | echo "must be run as root" 5 | exit 6 | fi 7 | 8 | cat /etc/dogtag 9 | # BeagleBoard.org Debian Image 2017-01-17 10 | uname -a 11 | # Linux blue-dc5d 4.4.41-ti-r83 #1 SMP Tue Jan 17 00:01:19 UTC 2017 armv7l GNU/Linux 12 | if [ -f /usr/bin/lsusb ] ; then 13 | lsusb 14 | fi 15 | # Bus 001 Device 002: ID 046d:0825 Logitech, Inc. Webcam C270 16 | # Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 17 | if [ -f /usr/bin/v4l2-ctl ] ; then 18 | if [ -d /dev/video0 ] ; then 19 | v4l2-ctl --info 20 | fi 21 | fi 22 | 23 | if [ ! -f /usr/bin/mjpg_streamer ] ; then 24 | apt update 25 | apt install -y mjpg-streamer 26 | fi 27 | 28 | install -m 644 ./mjpg-streamer.rules /etc/udev/rules.d 29 | install -m 644 ./mjpg-streamer.service /etc/systemd/system 30 | systemctl daemon-reload || true 31 | systemctl restart mjpg-streamer || true 32 | -------------------------------------------------------------------------------- /tools/software/mjpg-streamer/mjpg-streamer.rules: -------------------------------------------------------------------------------- 1 | KERNEL=="event*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="0825",\ 2 | TAG+="systemd", ENV{SYSTEMD_WANTS}="mjpg-streamer.service" 3 | KERNEL=="event*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="082d",\ 4 | TAG+="systemd", ENV{SYSTEMD_WANTS}="mjpg-streamer.service" 5 | KERNEL=="event*", ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="62e0",\ 6 | TAG+="systemd", ENV{SYSTEMD_WANTS}="mjpg-streamer.service" -------------------------------------------------------------------------------- /tools/software/mjpg-streamer/mjpg-streamer.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Webcam Video Streaming 3 | Requires=dev-video0.device 4 | BindsTo=dev-video0.device 5 | 6 | [Service] 7 | #ExecStart=/usr/local/bin/mjpg_streamer -i "/usr/local/lib/input_uvc.so -yuv" -o "/usr/local/lib/output_http.so -p 8090 -w /usr/local/www" 8 | ExecStart=/usr/bin/mjpg_streamer -i "/usr/lib/mjpg-streamer/input_uvc.so" -o "/usr/lib/mjpg-streamer/output_http.so -p 8090 -w /usr/share/mjpg-streamer/www" 9 | 10 | -------------------------------------------------------------------------------- /tools/wm/kwin.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | DISPLAY=:0 KWIN_DIRECT_GL=1 KWIN_OPENGL_INTERFACE=egl_wayland kwin --replace & 4 | -------------------------------------------------------------------------------- /tools/wm/lxde.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2014 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | check_dpkg () { 24 | LC_ALL=C dpkg --list | awk '{print $2}' | grep "^${pkg}$" >/dev/null || deb_pkgs="${deb_pkgs}${pkg} " 25 | } 26 | 27 | deb_distro=$(lsb_release -cs) 28 | deb_arch=$(LC_ALL=C dpkg --print-architecture) 29 | 30 | unset deb_pkgs 31 | 32 | pkg="lxde-core" 33 | check_dpkg 34 | pkg="lightdm" 35 | check_dpkg 36 | 37 | if [ "${deb_pkgs}" ] ; then 38 | echo "" 39 | echo "Installing: ${deb_pkgs}" 40 | sudo apt-get update 41 | sudo apt-get -y install ${deb_pkgs} 42 | sudo apt-get clean 43 | echo "--------------------" 44 | fi 45 | 46 | if [ "x${USER}" != "xroot" ] ; then 47 | if [ -f /etc/lightdm/lightdm.conf ] ; then 48 | sudo sed -i -e 's:#autologin-user=:autologin-user='${USER}':g' /etc/lightdm/lightdm.conf 49 | sudo sed -i -e 's:#autologin-session=UNIMPLEMENTED:autologin-session=LXDE:g' /etc/lightdm/lightdm.conf 50 | fi 51 | fi 52 | #Disable LXDE's screensaver on autostart 53 | if [ -f /etc/xdg/lxsession/LXDE/autostart ] ; then 54 | cat /etc/xdg/lxsession/LXDE/autostart | grep -v xscreensaver > /tmp/autostart 55 | sudo mv -v /tmp/autostart /etc/xdg/lxsession/LXDE/autostart 56 | rm -rf /tmp/autostart || true 57 | fi 58 | # 59 | -------------------------------------------------------------------------------- /tools/wm/maynard.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # 3 | # Copyright (c) 2014 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | check_dpkg () { 24 | LC_ALL=C dpkg --list | awk '{print $2}' | grep "^${pkg}$" >/dev/null || deb_pkgs="${deb_pkgs}${pkg} " 25 | } 26 | 27 | deb_distro=$(lsb_release -cs) 28 | deb_arch=$(LC_ALL=C dpkg --print-architecture) 29 | 30 | unset deb_pkgs 31 | pkg="build-essential" 32 | check_dpkg 33 | 34 | pkg="autoconf" 35 | check_dpkg 36 | 37 | pkg="libtool" 38 | check_dpkg 39 | 40 | pkg="intltool" 41 | check_dpkg 42 | 43 | pkg="pkg-config" 44 | check_dpkg 45 | 46 | pkg="libwayland-dev" 47 | check_dpkg 48 | 49 | pkg="libgtk-3-dev" 50 | check_dpkg 51 | 52 | pkg="libgnome-menu-3-dev" 53 | check_dpkg 54 | 55 | pkg="libgnome-desktop-3-dev" 56 | check_dpkg 57 | 58 | pkg="libasound2-dev:${deb_arch}" 59 | check_dpkg 60 | 61 | pkg="libxml2-utils" 62 | check_dpkg 63 | 64 | if [ "${deb_pkgs}" ] ; then 65 | echo "" 66 | echo "Installing: ${deb_pkgs}" 67 | sudo apt-get update 68 | sudo apt-get -y install ${deb_pkgs} 69 | sudo apt-get clean 70 | echo "--------------------" 71 | fi 72 | 73 | git_generic () { 74 | if [ ! -f ${HOME}/git/${project}/.git/config ] ; then 75 | git clone ${server} ${HOME}/git/${project}/ || true 76 | fi 77 | 78 | if [ ! -f ${HOME}/git/${project}/.git/config ] ; then 79 | rm -rf ${HOME}/git/${project}/ || true 80 | echo "error: git failure, try re-runing" 81 | exit 82 | fi 83 | 84 | echo "" 85 | echo "Building ${project}" 86 | echo "" 87 | 88 | cd ${HOME}/git/${project}/ 89 | 90 | make distclean >/dev/null 2>&1 || true 91 | git checkout master -f 92 | git pull || true 93 | 94 | if [ ! "x${git_sha}" = "x" ] ; then 95 | test_for_branch=$(git branch --list ${git_sha}-build) 96 | if [ "x${test_for_branch}" != "x" ] ; then 97 | git branch ${git_sha}-build -D 98 | fi 99 | 100 | git checkout ${git_sha} -b ${git_sha}-build 101 | fi 102 | } 103 | 104 | git_sha="" 105 | project="maynard" 106 | server="https://github.com/raspberrypi/maynard.git" 107 | 108 | git_generic 109 | 110 | ./autogen.sh --prefix=/usr --libdir=/usr/lib/arm-linux-gnueabihf --libexecdir=/usr/lib/arm-linux-gnueabihf 111 | make 112 | sudo make install 113 | 114 | # 115 | -------------------------------------------------------------------------------- /tools/wm/weston-drm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if test -z "${XDG_RUNTIME_DIR}"; then 4 | export XDG_RUNTIME_DIR=/tmp/${UID}-runtime-dir 5 | if ! test -d "${XDG_RUNTIME_DIR}"; then 6 | mkdir "${XDG_RUNTIME_DIR}" 7 | chmod 0700 "${XDG_RUNTIME_DIR}" 8 | fi 9 | fi 10 | 11 | weston --backend=drm-backend.so --use-pixman 12 | -------------------------------------------------------------------------------- /tools/wm/weston-fbdev.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if test -z "${XDG_RUNTIME_DIR}"; then 4 | export XDG_RUNTIME_DIR=/tmp/${UID}-runtime-dir 5 | if ! test -d "${XDG_RUNTIME_DIR}"; then 6 | mkdir "${XDG_RUNTIME_DIR}" 7 | chmod 0700 "${XDG_RUNTIME_DIR}" 8 | fi 9 | fi 10 | 11 | weston --backend=fbdev-backend.so 12 | -------------------------------------------------------------------------------- /tools/wm/weston.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if test -z "${XDG_RUNTIME_DIR}"; then 4 | export XDG_RUNTIME_DIR=/tmp/${UID}-runtime-dir 5 | if ! test -d "${XDG_RUNTIME_DIR}"; then 6 | mkdir "${XDG_RUNTIME_DIR}" 7 | chmod 0700 "${XDG_RUNTIME_DIR}" 8 | fi 9 | fi 10 | 11 | export MESA_DEBUG=1 12 | export EGL_LOG_LEVEL=debug 13 | export LIBGL_DEBUG=verbose 14 | export WAYLAND_DEBUG=1 15 | 16 | #weston-launch 17 | sudo openvt -v -c 5 -- /usr/bin/weston-launch --tty=/dev/tty5 --user=voodoo -- --log=weston.log 18 | -------------------------------------------------------------------------------- /un-tweak-image/debian-re-secure-root-ssh.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if ! id | grep -q root; then 4 | echo "must be run as root" 5 | exit 6 | fi 7 | 8 | echo "Reseting root password to [root]..." 9 | 10 | #it was blanked out via: 11 | #root_password=$(cat /etc/shadow | grep root | awk -F ':' '{print $2}') 12 | #sed -i -e 's:'$root_password'::g' /etc/shadow 13 | 14 | passwd <<-_EOF_ 15 | root 16 | root 17 | _EOF_ 18 | 19 | echo "ssh: resecuring, password now required..." 20 | 21 | #it was opened up via: 22 | #sed -i -e 's:PermitEmptyPasswords no:PermitEmptyPasswords yes:g' /etc/ssh/sshd_config 23 | #sed -i -e 's:UsePAM yes:UsePAM no:g' /etc/ssh/sshd_config 24 | 25 | sed -i -e 's:PermitEmptyPasswords yes:PermitEmptyPasswords no:g' /etc/ssh/sshd_config 26 | sed -i -e 's:UsePAM no:UsePAM yes:g' /etc/ssh/sshd_config 27 | /etc/init.d/ssh restart 28 | 29 | echo "Complete..." 30 | 31 | -------------------------------------------------------------------------------- /un-tweak-image/disable-bonescript-renable-apache-port-80.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | sudo systemctl disable bonescript.socket 4 | sudo sed -i -e 's:8080:80:g' /etc/apache2/ports.conf 5 | sudo sed -i -e 's:8080:80:g' /etc/apache2/sites-enabled/000-default.conf 6 | sudo /etc/init.d/apache2 restart 7 | --------------------------------------------------------------------------------