星期二, 12月 21, 2021
recvmsg和sendmsg函数
AF_INET域与AF_UNIX域socket通信原理对比
AF_INET域与AF_UNIX域socket通信原理对比
星期四, 7月 01, 2021
Load average
Load average
https://zhuanlan.zhihu.com/p/75975041
Linux Load Averages:什么是平均负载?
星期二, 6月 08, 2021
星期三, 4月 28, 2021
NEHotspotConfigurationManager, Hotspot, For Scan Wi-Fi networks
https://developer.apple.com/library/archive/qa/qa1942/_index.html
https://w1.fi/cgit/hostap/plain/wpa_supplicant/README-WPS
星期二, 4月 27, 2021
星期四, 4月 08, 2021
星期四, 4月 01, 2021
IPSec NAT-T技術
星期二, 3月 23, 2021
ESP 32 dev
Install ESP-IDF v4.2
https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/windows-setup.html
Air Kiss Related:
- Air Kiss技术实现方案(0.5)
- WeChatAirKiss Android客户端
- AirKissDemo
- 声明: 目前AirKiss协议已经发展到3.0版本(详见微信硬件平台),此版本应该还是基于最初的设计实现,仅供学习研究使用,不建议作为商业产品
星期五, 3月 19, 2021
SARA-R4
Term:
- mmcli
- ModemManager
- NetworkManager
- SARA-R4
Reference:
- https://techship.com/faq/how-to-guide-control-and-set-up-a-data-connection-in-linux-using-modemmanager-as-connection-manager/
- https://askubuntu.com/questions/1118595/how-to-establish-ip-connection-for-wwan-on-18-04
星期二, 3月 16, 2021
"smart config", "fast config"
Keyword: "smart config", "fast config"
- 物联网 WIFI 一键配置原理(smartconfig) ESP8266/QCA4004
- SmartConfig技術
- esp8266 smartconfig-智能配網分析和使用及注意事項
- Realtek3IN1/component/common/example/wlan_fast_connect/example_wlan_fast_connect.c
- Wifi SmartConfig 一键配置 (有分析各家使用方式)
- CC3000 Smart Config - transmitting SSID and keyphrase
- 微信互联设备AirKiss静态库
- evilpan/Airkiss
- 腾讯 WiFi设备一键配网协议(wifi SSID&PWD config protocol) (in rt-thread)
wuhanstudio/airkiss (PC)发送端/接收端
星期五, 3月 12, 2021
MP4 muxing
Muxing
- https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/muxing.c
- lieff/minimp4
Demuxing
https://github.com/Akaaba/libmp4
ISO 14496-1 Media Format
https://xhelmboyx.tripod.com/formats/mp4-layout.txt
星期三, 3月 03, 2021
fat survey
A tutorial on the FAT file system
- https://elinux.org/images/5/54/Elc2011_munegowda.pdf
- https://www.researchgate.net/profile/Keshava-Munegowda-2/publication/291074681_Cluster_Allocation_Strategies_of_the_ExFAT_and_FAT_File_Systems_A_Comparative_Study_in_Embedded_Storage_Systems/links/569ddcba08ae00e5c98f076f/Cluster-Allocation-Strategies-of-the-ExFAT-and-FAT-File-Systems-A-Comparative-Study-in-Embedded-Storage-Systems.pdf
- https://academy.cba.mit.edu/classes/networking_communications/SD/FAT.pdf
- https://fromthegroundupmyway.blogspot.com/2020/10/it-is-time-to-look-into-fat.html
- https://www.tavi.co.uk/phobos/fat.html
- http://elm-chan.org/docs/fat_e.html#fsinfo
- https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system
- Course list: http://www.c-jump.com/bcc/
- NTFS.com FAT FILE SYSTEM
- Examining FAT File System
星期五, 2月 26, 2021
802.11ah
https://www.taics.org.tw/LatestNewsForm.aspx?News_id=10448
https://iotnews.jp/archives/155473
Newracom
https://ithelp.ithome.com.tw/articles/10000405
星期四, 2月 25, 2021
星期五, 2月 05, 2021
星期五, 1月 29, 2021
Ubuntu 下 Janus Server 搭建筆記 原文網址:https://kknews.cc/code/m9n9pn9.html
星期三, 1月 27, 2021
fs_may_remount_ro
fs_may_remount_ro
[ 159.383252] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[ 159.383258] FAT-fs (sdb1): Filesystem has been set read-only
ICE/Stun/Turn/signaling/coturn/webrtc
ICE/Tune server test tool
- https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
星期三, 1月 20, 2021
星期二, 1月 19, 2021
thread's signal mask
thread's signal mask
copy from:
https://jyhshin.pixnet.net/blog/post/27826709
就跟傳統的 process 一樣,每個 thread 都有一個 signal mask,用來指定那些非同步 signal 會被 thread 處理,稱為 unblocked signals,那些 signal 不會被 thread 處理,稱為 blocked signals。根據 kernel 的設計,child process 中的第一個 thread 會繼承 parent process 中呼叫 fork 的 thread 的 signal mask,其它 thread 則會繼承呼叫 pthread_create 的 thread 的 signal mask。然後在 thread 再利用 pthread_sigmask 來調整 signal 是 blocked or unblocked。
當一個非同步產生的 signal 送達某個 process 時,它將由 process 中某個 thread 來處理,系統將會根據每個 thread 的 signal mask 來決定誰是選中的 thread 。如果有超過一個以上的 thread,它們的 signal mask 對 signal 來說都是 unblocked,系統將任意的幫你選一個。雖然你可以經由設定 signal mask 來影響系統選 thread 的過程,但無法直接指定某個 thread 來處理某個指定的 signal。
下面演示 pthread_sigmask 的範例,每隔二秒發出 SIGALRM 一次,由這個範例得到幾個結論。
- 預設的 signal mask = 0,也就是所有的 signal 都是 unblocked。
- signal 對 threads 的選擇都是以 thread 產生的順序為則準,所以每次都是第一個 threads 被選中。
- main 算是第一個 thread,如果沒有在 main 中使用 pthread_sigmask 來 block signal,則所有的 signal 都會由 main thread 來處理。
- main 中使用 pthread_sigmask 要注意,如果在 pthread_create 前使用,後面的 threads 會繼承變更後的 signal mask。
執行結果