본문 바로가기

컴퓨터

[Android] Emulator 환경에서 USB Host 기능 사용하기 1. 개요 Android Device에 USB-Serial 을 통해 Device를 연동해야 하는데 이때 Android Emulator 환경에서 테스트 할 수 있는 방법이 있어 공유해 본다. Android Emulator를 동작시키는 QEMU의 USB passthrough 기능을 통하여 VID:PID USB Device를 Android USB-Host와 연동할 수 있다. Android 10 기준으로 작성하였으며 USB passthrough 기능은 Linux Host에서만 지원한다. (최근 Release 된 ChangeNote에 Windows 도 지원 된다고 명시되어 있으나 문제가 있는지 Revert 되었다) 2. 설정 2.1 Android Studio 설치 https://developer.android.c.. 더보기
[SOME/IP] Wireshark를 통해 SOME/IP Capture 하기 1. 개요 SOME/IP를 wireshark로 Capture하기 위한 방법을 본 포스트에서 다룬다. 다만 Wireshark는 SOME/IP를 3.2.0 버전부터 지원하므로 업데이트 및 Build를 해서 사용해야 한다. 2. 방법 SOME/IP 구축 후 Wireshark로 Dump를 뜨면 아래와 같이 단순히 UDP Packet밖에 보이질 않는다. 시기적으로 봐서는 SOME/IP로 뭔가 보낸 것 같은데... 하지만 Wireshark에서는 공식적으로 SOME/IP Protocol을 지원한다고 되어 있는데 아무리 해봐도 안되서 이것 저것 건드려 보니아래와 같이 SOME/IP Port를 지정해야 정상적으로 표시해 준다. Edit->Preference->Protocols->SOME/IP->UDP Protocol 설.. 더보기
[MacBook Air M1] Ubuntu 20.04 via QEMU 1. 개요 Apple이 M1 CPU를 만들었다고 했을 땐 크게 관심이 없었는데 여러 리뷰를 보니까 성능도 좋으면서(최적화 잘 된 것만) 저전력으로 동작한다는 얘기를 많이 하기에 냅다 질러버렸다..... (아아...) 다만 Linux Application 개발자로서 Linux가 있어야 맴이 편하기 때문에 Virtual Machine이라도 하나 구축하는게 좋은데 M1 Cpu를 사용하다 보니 Parellels, VMWare, VirtualBox 다 공식 버전이 없는 상태이다. 그러던 와중에 Windows 10 ARM버전을 구동하는데 성공했다는 얘기를 듣고 검색해보니 역시나 Ubuntu 20.04 ARM을 구동하는 방법이 존재했고 그 방법을 공유하고자 본 포스트를 작성한다. 2. Prepare 2-1. home.. 더보기
[Ubuntu 18.04] AMD Ryzen CPU에서 External Display 출력 안되는 현상 1. 개요 Thinkpad L14 AMD Ryzen7 4750u 를 구매 후 개발용으로 사용하기 위해 Native로 Ubuntu 18.04를 설치했고 이 포스팅처럼 약간의 문제가 있었으나 일단 그런대로 사용할 만 했다. 그런데 External Monitor를 사용하고자 HDMI 포트에 케이블을 연결하였으나 연결 인식이 되질 않는 문제가 발견되었다. 따라서 그 방법에 대한 해결방법을 공유하고자 본 포스트를 작성한다. 2. 방법 2-1 grub 수정 아래와 같이 grub 을 Text 편집기로 열어서 ~$ sudo vi /etc/default/grub 아래와 같은 내용이 있는데 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 아래와 같이 "amdgpu.exp_hw_support=1".. 더보기
[Ubuntu 18.04] AMD Ryzen CPU 에서 Ubuntu Shutdown 안되는 현상 1. 개요 개발용으로 Lenovo Thinkpad L14 AMD (Ryzen7 4750U) 모델을 구매 후 OS를 Ubuntu를 설치했는데 종료 시 정상적으로 종료되지 않는 문제가 있어 해결방법을 공유하고자 본 포스트를 작성한다. 2. 설명 간단히 살펴보면 AMD Radeon 관련한 문제로 보이며 아래 링크의 Installer를 다운 받고 압축 해제 후 amdgpu-install를 실행하여 AMD GPU Software를 설치한다. www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-20-10 3. 참조 askubuntu.com/questions/1242329/18-04-failing-to-shutdown-power-off-on-amd-ryz.. 더보기
LTTng on embedded device / lttng-relayd 1. 개요 LTTng : The Linux Trace Toolkit: next generation LTTng를 사용하여 tracing 하면 trace 데이터의 용량이 매우 큰 것을 볼 수 있다. 따라서 Embeded Device 에 사용하기 위해선 remote로 저장하는 방법이 필요한데 이를 위한 방법을 공유하고자 한다. Target에서는 lttng를 실행하되 --output이 아닌 --set-url을 통해 remote로 전송할 위치를 설정하며 Host에서는 lttng-relayd daemon에서 전송되는 data를 수신한다. 2. LTTng remotly tracing 2.1 lttng-relayd 실행 on Host ~$ lttng-relayd 수신한 데이터는 default로 $LTTNG_HOME/l.. 더보기
[eBPF] Ubuntu에서 eBPF 동작 시 확인사항 일반적으로 Sudo 권한 또는 system capability가 없어서 발생하며 OS에서 Lockdown 설정 여부 확인 필요 https://stackoverflow.com/questions/60322147/xdp-program-ip-link-error-prog-section-rejected-operation-not-permitted XDP program ip link error: Prog section rejected: Operation not permitted I try to get into XDP, for this I have this very small program: // SPDX-License-Identifier: GPL-2.0 #include #include "bpf/bpf_helpers.h.. 더보기
[D-Bus] D-Feet with socat for remote device 1. 개요 Linux의 경우 D-Bus라는 IPC를 많이 사용하는 것을 볼 수 있는데 이를 확인하기 위한 수단으로는 간단하게는 dbus-monitor라는 CLI Tool이 있으며 GUI로는 D-Feet이라는 Tool이 있다. 다만 최근 Embedded Device에서도 D-Bus를 IPC로 자주 사용하는 경우를 볼 수 있으며 이를 Debug 하기 위한 수단으로는 dbus-monitor를 주로 사용했다. 그렇지만 사람은 GUI가 아무래도 편할 것이고.... 이래저래 검색을 해 본 결과론 Linux 배포판에서 사용하던 D-Feet을Remote Device의 D-Bus를 가져와서 Display할 수 있는 방법을 찾아 공유해 본다. 본 포스트는 system d-bus를 예로 들었으며 session d-bus는 .. 더보기
Lightroom 에서 Instagram 용 1:1 Image를 Export 하기 (LR/Mogrify2) 1. 개요 찍은 사진을 Instargram에 Upload를 하고자 하는데 모두가 알다 시피 Instargram에서는 사진의 좌우비율이 정해져 있고 이 이상 되는 Image는 직접 Spacer를 넣은 이미지(1:1)로 해야 보기 좋아진다. 하지만 이 Spacer를 넣는 기능은 Lightroom에 없으므로 Photoshop을 통해서 넣곤 했는데 이를 Export 하는 순간 다시 overwrite 되는 문제가 있었다. 따라서 이를 해결하고자 LR/Mogrify 2 라는 plugin을 설치하여 Instargram 용 Image를 관리하며 Export 시에 자동으로 Spacer를 넣어 1:1 이미지로 만들어 주는 방법을 소개하고자 한다. 물론 Export된 이미지는 Instargram에 직접 Upload 해야 한.. 더보기
[Xpenology] Driver Extension 추가 (RAID Card, NIC, etc..) 1. 개요 앞서 소개했던 LSI 9260-8i (IBM M5015) RAID 카드 장착기 를 작성할 땐 문제가 없었으나 DSM 6.2.2로 업뎃을 하면서 새로운 문제가 발생하였다. 장착기에서 마지막에 언급했던 문제인데 장치 인식이 안되는 경우이다. 분명 RAID Configuration에서는 device 설정을 마쳤지만 DSM에서는 인식이 안되는 문제로 이를 해결하기 위해선 Linux Kernel 이미지에 Driver를 포함시켜야 한다. 물론 Storage Driver 말고 NIC Driver도 동일하다. 2. 방법 일반적으로 Xpenology용 Boot Image 만드는 절차를 따르고 Image Write 하기 전 단계에서 아래와 같이 한다. 본 포스팅은 DS3615 DSM 6.2.2 - 24922 버.. 더보기
[Xpenology] HP MicroServer N54L에 Intel I210-T1 NIC 장착기 1. 개요 잠깐 외도(Synology DS 718+를 샀다가 다시 팔았다.....)를 했다가 다시 마음을 잡고 Xpenology 6.2.2를 올려보고자 했지만 많은 사람들의 시도 끝에 6.1.7 이후론 Broadcom 사의 내장 NIC가 인식되질 않는다는 문제점에 봉착 하였고 이를 해결하고자 Intel I210-T1 NIC를 장착하고자 한다. 보통 NIC를 장착한 후기를 보면 최소 Dual Port를 선호하는데 필자는 이미 N54L에 LSI RAID Card를 장착한 상태라 PCI-E 1x 슬롯밖에 사용할 수 없는 상태이며 이는 Single Port 제품만 장착이 가능하다는 의미가 된다. 따라서 Intel I210-T1 NIC는 Single Port 제품을 선택한 이유는 Xpenology 후기에도 성공했.. 더보기
GNU Autotools 를 사용하여 Build 하기 1. GNU Autotools 소개 SW 를 개발하는데 있어 Source 를 편집하여 결과적으로 Executable Binary를 만들어야 하는데작은 프로젝트의 경우 단순히 gcc 명령어를 통해 진행할 수 있지만 프로젝트가 커지다 보면 복잡도가 증가하여사람 손으로 일일히 진행하기 어려워 진다.이를 위해서 Build System 들이 생겨나게 되었고 그 중 하나인 GNU Autotools를 소개하고자 한다. GNU Autotools 와 CMake가 가장 유명하다. 2. Autotools 구성 [Autotools 진행도]출처 : Wiki-GNU_Build_System 3. Autotools 사용법 3-1. 프로젝트 생성 및 Makefile.am 생성 Project Folder 생성과 hello.cpp Mak.. 더보기