2020-05-29

pppd


/etc/ppp/option 에서 crsrts제거해야 통신됨.
ctsrts

아래항목 처리.
AT*RNDISDATA=0
AT*AUTOCONN=0


#sudo pppd /dev/ttyUSB0 115200 unit 1 linkname datakey usepeerdns noauth user guest password guest defaultroute noipdefault ipcp-accept-local ipcp-accept-remote ipcp-max-failure 30 lcp-echo-interval 5 lcp-echo-failure 30 modem dump debug kdebug 8 connect "/usr/sbin/chat -v -t 500 -T *98# -f /home/happycpu/at_com_zte"

TIMEOUT   5
ECHO      ON
ABORT     BUSY
ABORT     ERROR
ABORT     'NO CARRIER'
ABORT     VOICE
ABORT     'NO DIALTONE'
ABORT     'NO DIAL TONE'
ABORT     'NO ANSWER'
ABORT     DELAYED
'' AT
OK AT
OK AT
SAY "Connect...\n"
OK        ATD*98#
TIMEOUT   30
SAY "done..\n"
CONNECT   ''
SAY "end\n"

그런데, ubuntu에서는 확인했으나, 라즈베리파이에서는 ftdi시리얼이 말을 듣지않음.

uml

http://naver.me/5YkKPHBP

2020-05-26

VLAN network setup (rasbian)


root@raspberrypi:/home/pi# apt-get install vim vlan dnsmasq iptables-persistent

pi@raspberrypi:~ $ cat /etc/network/interfaces

source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

auto eth0.101
iface eth0.101 inet dhcp

auto eth0.102
iface eth0.102 inet static
    address 192.168.102.1
    netmask 255.255.255.0
    network 192.168.102.0
    broadcast 192.168.102.255


pi@raspberrypi:~ $ cat /etc/dnsmasq.conf 
resolv-file=/etc/dnsmasq-resolv.conf
interface=eth0.102
listen-address=127.0.0.1
dhcp-range=192.168.102.1,192.168.102.254,12h

pi@raspberrypi:~ $ cat /etc/dnsmasq-resolv.conf 
nameserver 8.8.8.8
nameserver 8.8.4.4


pi@raspberrypi:~ $ cat /etc/rc.local 
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

#/sbin/iptables -P FORWARD ACCEPT
#/sbin/iptables --table nat -A POSTROUTING -o eth0.101 -j MASQUERADE

WAN=eth0.101
LAN=eth0.102
LANIP=192.168.102.0
/sbin/iptables  --flush
/sbin/iptables  -A FORWARD -o $WAN -i $LAN -s $LANIP/24 -m conntrack --ctstate NEW -j ACCEPT
/sbin/iptables  -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables  -t nat -F POSTROUTING
/sbin/iptables  -t nat -A POSTROUTING -o $WAN -j MASQUERADE

################################################
happycpu@happycpu:~$ cat internet_share.sh
#!/bin/bash

#set -x

if [ $# -ne 2 ];
then
echo "Usage: $ ./internet_share.sh [eth name connected to internet] [eth name connected to another device]"
exit
fi

# $1 : the name of ethernet for connecting to the interneet
# $2 : the name of ethernet for connecting to another client
sudo ip addr add 192.168.77.1/24 dev $2

sudo iptables --flush
sudo iptables -A FORWARD -o "$1" -i "$2" -s 192.168.77.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o "$1" -j MASQUERADE

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"




2020-05-18

YOCTO



devshell 이 열림.

# find ./ -name "imx6ull.dtsi"
# vi ./arch/arm/boot/dts/imx6ull-14x14-evk.dts 

DISTRO=fsl-imx-fb MACHINE=imx6ull14x14evk source imx-setup-release.sh -b build1

커널컴파일
bitbake -c devshell virtual/kernel
make menuconfig

비지박스 설정
bitbake -c menuconfig busybox

FSL Yocto 커스텀 번역

7 Customization

i.MX Linux OS에서 빌드하고 사용자 정의하는 세 가지 시나리오가 있습니다.

• i.MX Yocto Project BSP 빌드 및 i.MX 참조 보드에서 유효성 검사. 이 문서의 지침은이 방법을 자세히 설명합니다.

• 커널 및 U-Boot를 사용하여 커널을 사용자 정의하고 사용자 정의 보드 및 장치 트리를 만듭니다. Yocto Project 빌드 환경 외부에서만 커널 및 U-Boot를 빌드하기 위해 SDK를 빌드하고 호스트 시스템을 설정하는 방법에 대한 자세한 내용은 4.5.12 장의 독립형 환경에서 U-Boot 및 커널을 빌드하는 방법을 참조하십시오. i.MX 사용자 안내서 (IMXLUG).

• 사용자 정의 Yocto 프로젝트 레이어를 생성하여 i.MX Linux 릴리스 용으로 제공된 BSP에서 패키지를 추가하거나 제거하는 배포 사용자 정의. i.MX는 Code Aurora 포럼의 i.MX git 저장소에서 AGL, Genivi, IOT Gateway 및 XBMC를 사용하여 i.MX BSP 릴리스 위에 사용자 정의 계층을 표시하기위한 여러 데모 예제를 제공합니다.
이 문서의 나머지 부분에서는 사용자 정의 DISTRO 및 보드 구성을 만드는 지침을 제공합니다.

7.1 사용자 정의 DISTRO 생성

사용자 정의 DISTRO는 사용자 정의 빌드 환경을 구성 할 수 있습니다.
fsl-imx-x11, fsl-imx-wayland, fslimx-xwayland 및 fsl-imx-fb가 릴리스 된 DISTRO 파일은 모두 특정 그래픽 백엔드의 구성을 보여줍니다. DISTRO를 사용하여 커널, uboot 및 gstreamer와 같은 다른 매개 변수를 구성 할 수도 있습니다.

i.MX DISTRO 파일은 i.MX Linux OS BSP 릴리스 테스트에 필요한 사용자 정의 빌드 환경을 작성하도록 설정되어 있습니다.

각 고객은 자신의 배포 파일을 작성하여 빌드 환경에 대한 제공자, 버전 및 사용자 정의 구성을 설정하는 데 사용하는 것이 좋습니다.

DISTRO는 기존 distro 파일을 복사하거나 poky.conf와 같은 파일을 포함하고 추가 변경 사항을 추가하거나 i.MX DISTRO 중 하나를 포함하고이를 시작점으로 사용하여 작성됩니다.

7.2 커스텀 보드 구성 생성

참조 보드를 개발하는 공급 업체는 FSL 커뮤니티 BSP에 보드를 추가 할 수 있습니다.

FSL Community BSP가 지원하는 새 시스템을 사용하면 커뮤니티와 소스 코드를 쉽게 공유 할 수 있으며 커뮤니티의 피드백을받을 수 있습니다.

Yocto Project를 사용하면 새로운 i.MX 기반 보드에 대한 BSP를 쉽게 생성하고 공유 할 수 있습니다.

Linux OS 커널 및 부트 로더가 해당 시스템에 대해 작동하고 테스트되면 업스트림 프로세스가 시작되어야합니다.

시스템 구성 파일에서 안정된 Linux 커널 및 부트 로더 (예 : U-Boot)를 지정하여 해당 시스템에 사용되는 기본 시스템 인 것이 매우 중요합니다.

또 다른 중요한 단계는 새 시스템의 관리자를 결정하는 것입니다.

메인테이너는 메인 보드 세트를 해당 보드에서 계속 작동시키는 책임이 있습니다.
머신 관리자는 커널과 부트 로더를 업데이트하고 해당 머신에 대해 사용자 공간 패키지를 테스트해야합니다.

시스템 관리자 역할에 대한 자세한 내용은 FSL Community BSP 릴리스 노트 2.4 설명서를 참조하십시오.

LAN9303 device tree 참고용.

https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next/+/refs/heads/akpm-base/Documentation/devicetree/bindings/net/dsa/lan9303.txt


[bash] IP유효성 확인 스크립트

validate_IP(){
    if [[ $1 =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]
    then
        for NUM in `sed 's/\./ /g' <<< $1`
        do
            if [ $NUM -ge 0 ] && [ $NUM -le 255 ] && [[ ! $NUM =~ ^0[0-9]{1,2}$ ]]
            then
                continue
            else
                echo "Invalid"
                return 1
            fi
        done
        echo "Valid"
        return 0
    else
        echo "Invalid"
        return 1
    fi
}

2020-05-15

랜하나로 vlan을 통해 라우팅 구현


https://openwrt.org/docs/guide-user/network/vlan/switch

3-Port 10/100 managed ethernet switch 802.1Q VLAN site:microchip.com

VLAN

VLAN

POSIX란

1003.1-2017 - IEEE Standard for Information Technology

--Portable Operating System Interface (POSIX(R)) Base Specifications, Issue 7


ISO/IEC 9945 (POSIX)


https://www.iso.org/standard/50516.html



ISO / IEC / IEEE 9945 : 2008은 명령 해석기 (또는 "쉘") 및 소스 코드 수준에서 응용 프로그램 이식성을 지원하는 일반적인 유틸리티 프로그램을 포함한 표준 운영 체제 인터페이스 및 환경을 정의합니다. ISO / IEC / IEEE 9945 : 2008은 응용 프로그램 개발자와 시스템 구현 자 모두가 사용하도록 만들어졌으며 4 개의 주요 구성 요소 (각각 관련 볼륨)로 구성됩니다.

  • 유틸리티 규약 및 C 언어 헤더 정의를 포함하여이 표준의 모든 볼륨에 공통적 인 일반 용어, 개념 및 인터페이스가 기본 정의 볼륨에 포함됩니다.
  • 시스템 서비스 기능 및 서브 루틴에 대한 정의, C 프로그래밍 언어에 대한 언어 별 시스템 서비스, 이식성, 오류 처리 및 오류 복구를 포함한 기능 문제는 시스템 인터페이스 볼륨에 포함되어 있습니다.
  • 통역 서비스 ( "쉘")에 대한 표준 소스 코드 수준 인터페이스 및 "응용 프로그램에 대한 공통 유틸리티 프로그램"에 대한 정의는 쉘 및 유틸리티 볼륨에 포함되어 있습니다.
  • ISO / IEC / IEEE 9945 : 2008의 내용과 ISO / IEC / IEEE 9945 : 2008 개발자가 기능을 포함하거나 버린 이유에 대한 기록 정보가 포함 된 나머지 문서 구조에 적합하지 않은 확장 된 이론적 근거 이론적 (정보) 볼륨에 포함되어 있습니다.

다음 영역은 ISO / IEC / IEEE 9945 : 2008의 범위를 벗어납니다.

  • 그래픽 인터페이스;
  • 데이터베이스 관리 시스템 인터페이스;
  • 레코드 I / O 고려 사항;
  • 객체 또는 이진 코드 이식성;
  • 시스템 구성 및 자원 가용성.

ISO / IEC / IEEE 9945 : 2008에서는 이러한 기능을 달성하기 위해 사용 된 내부 구성 기법이 아니라 응용 프로그램 개발자에게 중요한 외부 특성과 기능에 대해 설명합니다. 다양한 상용 응용 분야에 필요한 기능과 시설에 특히 중점을 둡니다.

암호화 + base64 하고 쉘스크립트.

 #!/bin/bash # IV와 UserKey를 설정합니다 (아스키 문자열을 그대로 사용). IV="0123456789abcdef"  UserKey="0123456789abcdef" # IV와 UserKey를 16...