2020年9月5日 星期六

Citizens Broadband Radio Service (CBRS)


全球都將3.5GHz頻段的頻譜視為新一代電信服務的理想選擇,因為它既具備長距離傳輸的優勢,又有大量且連續的可用頻寬,包括中國、歐洲與南韓都已將它作為5G之用,台灣自去年底展開的5G頻譜競標,不只在今年初創下1,380億元新台幣的總標金紀錄,且最熱門的3.5GHz頻段的頻譜,總標金即達1364.33億元。

在FCC的3.5 GHz CBRS頻段釋出計畫中,引進了三層式頻譜接取架構。在此架構下,當Incumbents 與 PALs未使用該頻段時,GAAs皆可以使用。而當有很多GAAs處於同一場所時,要按照公平的原則使用可用頻率。因此,FCC將以SAS(Spectrum Access System),實現不同用戶及應用之間的頻譜共享。

Incumbents: 指的是那些原本在3.5G運作的使用者, 如 fixed satellite service, US Navy Radar等。
PALs(Priority Access Licenses): 指的是那些標下這個頻段使用者, 如service providers。
GAAs(General Authorized Access): 其他人。






2020年8月29日 星期六

PDN CONNECTIVITY REJECT Code


By 3GPP TS 24.244 version 16.0.0 Release 16
The cause IE typically indicates one of the following cause values:
  #8: operator determined barring;
  #26: insufficient resources;
  #27: missing or unknown APN;
  #28: unknown PDN type;
  #29: user authentication failed;
  #30: request rejected by PDN GW;
  #31: request rejected, unspecified;
  #32: service option not supported;
  #33: requested service option not subscribed;
  #34: service option temporarily out of order;
  #35: PTI already in use;
  #38: network failure;
  #50: PDN type IPv4 only allowed;
  #51: PDN type IPv6 only allowed;
  #52: single address bearers only allowed;
  #54: PDN connection does not exist;
  #55: multiple PDN connections for a given APN not allowed;
  #95 – 111: protocol errors;
  #113: Multiple accesses to a PDN connection not allowed; 




2020年6月27日 星期六

Note for Yocto Project Development Tasks Manual v3.1 - CH3.2. Customizing Images


Yocto 可以讓User自訂image以滿足特定需求, 這個章節就是在介紹如何自訂image.
最簡單的image.bb就是全部空白
images/machine-image-brook.bb
inherit image
IMAGE_FEATURES = ""
LICENSE = "MIT"
IMAGE_LINGUAS = ""
build結果
brook@vista:~/apps_proc/poky/build/tmp-glibc/work/oe-linux-gnueabi/machine-image-brook$ find 1.0-r0/rootfs/
1.0-r0/rootfs/
1.0-r0/rootfs/var
1.0-r0/rootfs/var/cache
1.0-r0/rootfs/var/cache/opkg
1.0-r0/rootfs/var/lib
1.0-r0/rootfs/var/lib/opkg
1.0-r0/rootfs/lib
1.0-r0/rootfs/lib/systemd
1.0-r0/rootfs/lib/systemd/system
1.0-r0/rootfs/lib/systemd/system/run-postinsts.service
1.0-r0/rootfs/etc
1.0-r0/rootfs/etc/timestamp
1.0-r0/rootfs/etc/version
1.0-r0/rootfs/etc/systemd
1.0-r0/rootfs/etc/systemd/system
1.0-r0/rootfs/etc/systemd/system/sysinit.target.wants
1.0-r0/rootfs/etc/systemd/system/sysinit.target.wants/run-postinsts.service
1.0-r0/rootfs/run
1.0-r0/rootfs/usr
1.0-r0/rootfs/usr/sbin
1.0-r0/rootfs/usr/sbin/run-postinsts


3.2.1. Customizing Images Using local.conf

最簡單的客製化image就是在local.conf中加入一個package, 雖然彈性有限, 但相對簡單. 比如在local.conf加入一行
     IMAGE_INSTALL_append = " strace"
記住, strace前面有一個空白, 爾且是必須的. 此外, 善用+=運算符號可以增加可讀性.

images/machine-image-brook.bb
inherit image
IMAGE_FEATURES = ""
LICENSE = "MIT"
IMAGE_LINGUAS = ""

build結果
brook@vista:~/apps_proc/poky/build/tmp-glibc/work/oe-linux-gnueabi/machine-image-brook$ find 1.0-r0/rootfs/
1.0-r0/rootfs/
1.0-r0/rootfs/var
1.0-r0/rootfs/var/cache
1.0-r0/rootfs/var/cache/opkg
1.0-r0/rootfs/var/lib
1.0-r0/rootfs/var/lib/opkg
1.0-r0/rootfs/lib
1.0-r0/rootfs/lib/libnss_compat.so.2
1.0-r0/rootfs/lib/libresolv.so.2
1.0-r0/rootfs/lib/libresolv-2.28.so
1.0-r0/rootfs/lib/libnss_files.so.2
1.0-r0/rootfs/lib/libm.so.6
1.0-r0/rootfs/lib/libBrokenLocale-2.28.so
1.0-r0/rootfs/lib/libc-2.28.so
1.0-r0/rootfs/lib/libanl.so.1
1.0-r0/rootfs/lib/libutil.so.1
1.0-r0/rootfs/lib/libc.so.6
1.0-r0/rootfs/lib/libutil-2.28.so
1.0-r0/rootfs/lib/libnss_dns-2.28.so
1.0-r0/rootfs/lib/libnsl.so.1
1.0-r0/rootfs/lib/libdl-2.28.so
1.0-r0/rootfs/lib/libnss_compat-2.28.so
1.0-r0/rootfs/lib/ld-linux-armhf.so.3
1.0-r0/rootfs/lib/libnsl-2.28.so
1.0-r0/rootfs/lib/libpthread-2.28.so
1.0-r0/rootfs/lib/libnss_files-2.28.so
1.0-r0/rootfs/lib/libm-2.28.so
1.0-r0/rootfs/lib/libnss_dns.so.2
1.0-r0/rootfs/lib/librt-2.28.so
1.0-r0/rootfs/lib/libpthread.so.0
1.0-r0/rootfs/lib/libBrokenLocale.so.1
1.0-r0/rootfs/lib/libdl.so.2
1.0-r0/rootfs/lib/systemd
1.0-r0/rootfs/lib/systemd/system
1.0-r0/rootfs/lib/systemd/system/run-postinsts.service
1.0-r0/rootfs/lib/libanl-2.28.so
1.0-r0/rootfs/lib/ld-2.28.so
1.0-r0/rootfs/lib/librt.so.1
1.0-r0/rootfs/sbin
1.0-r0/rootfs/sbin/ldconfig
1.0-r0/rootfs/etc
1.0-r0/rootfs/etc/timestamp
1.0-r0/rootfs/etc/version
1.0-r0/rootfs/etc/ld.so.conf
1.0-r0/rootfs/etc/systemd
1.0-r0/rootfs/etc/systemd/system
1.0-r0/rootfs/etc/systemd/system/sysinit.target.wants
1.0-r0/rootfs/etc/systemd/system/sysinit.target.wants/run-postinsts.service
1.0-r0/rootfs/run
1.0-r0/rootfs/usr
1.0-r0/rootfs/usr/sbin
1.0-r0/rootfs/usr/sbin/run-postinsts
1.0-r0/rootfs/usr/bin
1.0-r0/rootfs/usr/bin/strace
1.0-r0/rootfs/usr/bin/strace-log-merge


3.2.2. Customizing Images Using Custom IMAGE_FEATURES and EXTRA_IMAGE_FEATURES

另一個方式是設定IMAGE_FEATURES與EXTRA_IMAGE_FEATURES, 這兩個功能相似, IMAGE_FEATURES是在recipe使用, 而EXTRA_IMAGE_FEATURES是在local.conf 使用. 可以參考meta/classes/core-image.bbclass了解更多細節
簡單來說, IMAGE_FEATURES 會被轉成是當的packages或configurations後加入IMAGE_INSTALL變數中. 而EXTRA_IMAGE_FEATURES變數會在bitbake.conf中, 將其加入IMAGE_FEATURES內.
EXTRA_IMAGE_FEATURES ??= ""
IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"


3.2.3. Customizing Images Using Custom .bb Files

你也可以透過recipe (.bb)自訂image內容, images/machine-image-brook.bb
inherit image
IMAGE_INSTALL = "strace"
IMAGE_FEATURES = ""
LICENSE = "MIT"
IMAGE_LINGUAS = ""
build結果與3.2.1.結果相同

3.2.4. Customizing Images Using Custom Package Groups

複雜一點的image,可以透過創建package group recipe來客製化image, 比如在meta/recipes-core/packagegroups/創建packagegroup-image-brook.bb, 內容如下
SUMMARY = "Brook's sckagegroup"
PR = "r0"

inherit packagegroup

PACKAGES = "\
    ${PN}-apps \
    ${PN}-tools \
    "

RDEPENDS_${PN}-apps = "\
    strace \
    "

RDEPENDS_${PN}-tools = "\
    busybox \
    "

RRECOMMENDS_${PN}-tools = "\
    openssl \
    "

加完之後, 可以使用bitbake確認是否可用
jenkins@vista:~/apps_proc/poky/build$ bitbake -s|grep brook
packagegroup-image-brook                              :1.0-r0

接著就可以在images/machine-image-brook.bb中使用這packagegroup
inherit image

IMAGE_INSTALL = "packagegroup-image-brook-tools"

IMAGE_FEATURES = ""

LICENSE = "MIT"

IMAGE_LINGUAS = ""
結果就是會安裝busybox, 當然你也可以安裝"packagegroup-image-brook-apps".

    參考資料:
  • https://www.yoctoproject.org/docs/3.1/dev-manual/dev-manual.html, The Yocto Project Development Tasks Manual



熱門文章