Install:
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
Install:
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
Open file in nano (or other text editor) from root user:
nano /etc/systemd/system/multi-user.target.wants/mariadb.service
Change parameters in file:
# Restart crashed server only, on-failure would also restart, for example, when # my.cnf contains unknown option Restart=always RestartSec=45s
Restart daemons:
systemctl daemon-reload systemctl restart mariadb.service
1. Connect to router over ssh and run opkg update
2. Install packages opkg install kmod-usb-net kmod-usb-net-rndis kmod-usb-net-cdc-ether kmod-usb2 kmod-usb3 kmod-usb-net-huawei-cdc-ncm usb-modeswitch kmod-usb-serial usbutils
3. Check modem lsusb
:
4. Check connection name for modem dmesg | grep usb
(for me it’s usb0, somethimes there’s name eth1 and etc.:
5. Create interface in Openwrt Web Panel «Network» — «Interfaces»:
6. Important! Add new mobile interface in WAN-zone in firewall.
7. After all this manipulation you can see working interface:
8. And after all these steps, I was able to go to the model control panel at the address of http://192.168.8.1/
For 4G USB Modem Dongle (Huawei) E3372-325 — first seconds you can see in lsusb Bus 005 Device 013: ID 3566:2001 Mobile Mobile and after Bus 005 Device 015: ID 12d1:155e Huawei Technologies Co., Ltd. Mobile
Full instruction here https://blog.tanatos.org/posts/huawei_e3372h-325_brovi_with_linux/.
So 2 scripts are below
/usr/local/bin/brovi_switch (make it executable!)
#!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin # vim: filetype=bash # 2023-01-28 Pavel Piatruk, piatruk.by ID=$$ USB_ID=$(basename $DEVPATH) { #set|sort #ls -la /sys/$DEVPATH echo bInterfaceClass on ports as follows grep -H . /sys$DEVPATH/1*/bInterfaceClass IC=$( grep -h . /sys$DEVPATH/*:1.0/bInterfaceClass ) echo "got bInterfaceClass on 1st port $IC" echo usb_modeswitch -b $BUSNUM -g $DEVNUM -v 3566 -p 2001 case $IC in 08) echo Storage MODE ;; e0) echo "Already RNDIS" LOCKFILE=/var/run/brovi.$USB_ID.lock if [[ -e $LOCKFILE ]] then LOCKFILE_AGE=$(( $(date +%s ) - $(stat $LOCKFILE -c %Y) )) echo LOCKFILE_AGE=$LOCKFILE_AGE fi if [[ -n $LOCKFILE_AGE ]] && [[ $LOCKFILE_AGE -lt 10 ]] then echo was switched VERY recently, noop else set > $LOCKFILE CMDS=( "usb_modeswitch -b $BUSNUM -g $DEVNUM -v $ID_VENDOR_ID -p $ID_MODEL_ID -W -R -w 400 " "usb_modeswitch -b $BUSNUM -g $DEVNUM -v $ID_VENDOR_ID -p $ID_MODEL_ID -W -R " ) i=0 for CMD in "${CMDS[@]}" do i=$(($i+1)) echo "=====STEP$i, run: $CMD" $CMD done fi ;; ff) echo Serial Port ;; *) echo Unknown mode ;; esac } | logger -t BROVI exit 0
and UDEV script /etc/udev/rules.d/40-huawei.rules
ACTION!="add", GOTO="modeswitch_rules_end" SUBSYSTEM!="usb", GOTO="modeswitch_rules_end" # All known install partitions are on interface 0 ATTRS{bInterfaceNumber}!="00", GOTO="modeswitch_rules_end" GOTO="modeswitch_rules_begin" LABEL="modeswitch_rules_begin" # Huawei E3372-325 ATTR{idVendor}=="3566", ATTR{idProduct}=="2001", RUN+="/usr/local/bin/brovi_switch %k %p" LABEL="modeswitch_rules_end"
Firstly find and buy cable on aliexpress by keywords «APC Smart UPS DB9, CP2102, USB RS232, serial 9 D-Sub, cable 940-0024C, Windows 7/8/10, Mac, Linux».
The GPLDL Premium WordPress Themes Repository currently counts 604 downloads.
GPLDL provides free downloads of Premium WordPress Themes from all leading WordPress Developers like AppThemes, CSSIgniter, Dessign, Cyberchimps, Elegant Themes, Elmastudio, Envato/Themeforest, Graph Paper Press, Obox, PanKogut, BuddyPress Team, ThemeZilla, Themify, WooThemes, WPMUDEV including regular updates when they become available.
All WordPress Themes at GPLDL are true originals (no modifications, not nulled, no malware) obtained from the respective developers and are redistributed legally under the terms of the GNU General Public License.
Alternative syntax with Literal Object:
const x = 0; const height = { [true]: 0, [x < 100]: 100, [100 <= x && x < 200]: 200, [x >= 200]: 250, }[true]; console.log(height); // you can see "100"