한 2주 전? 덕*** 이라는 국내 업체를 국내에서 정식 판매되는 3D 프린터 Flashforge Finder 를 구입했습니다. 

외국에서 평가도 좋고 국내에서도 가정용으로 많이 사용하는 제품으로 확인했습니다.
당연히 와이파이 기능으로 원격으로 작업을 시작하고 상태를 확인할 수 있다는 점도 좋았습니다.
단, 베드가 좀 작은면이 좀 있지만...



이렇게 생긴 제품인데요... 받고나서 기쁜 마음으로 출력물 테스트를 두어번 한 다음에 알게 됐습니다.

와... 와이파이 기능이 없.. 어.... 워.. 원래 있는 제품 아니었어???


네, 카페에 글을 찾아보니 국내에 출시하면서 와이파이 모듈이 제거돼 판매된다고 합니다.
아마도 와이파이 모듈 관련해서 전파인증을 받기 싫었거나 문제가 있었겠죠?

해외 직구하면 비슷한 금액에 와이파이 되는걸로 살수 있었는데.. 젠장..


구글링을 아무리 해봐도 어떤 와이파이 모듈을 쓰는지 찾을수가 없었습니다.

그러다가 PCB 사진을 발견했어요.

PCB 우측에 모듈 형태로 달려있는 저 부분이 와이파이 모듈로 예상되었습니다.


실제로 확인을 해보니 제 3D 프린터에는 저 부분이 비어 있었습니다.

요렇게...


휴.. 그럼 이게 맞는건가? 저놈만 찾아서 달면 되는건가? 그런데 어떻게 찾아내지?

그러다가 제작사 사이트의 유저가이드 pdf 파일을 보다가 와이파이 맥 어드레스를 발견했습니다.



참고로 와이파이나 블루투스같은 무선 기기의 맥 어드레스는 등록을 하게 돼 있고 IEEE에서 관리되고 있습니다. 

맥 어드레스 등록 목록: http://standards-oui.ieee.org/oui.txt

물론 기기마다 다 등록은 하지는 않고 각 회사마다 앞 6자리를 각자의 코드로 갖는것 같습니다.


유저가이드에서 찾은 맥 어드레스는 FC:3D:FD로 시작하네요.


찾아보니 모듈의 제조사는 중국의 SHENZHEN BILIAN ELECTRONIC CO., LTD 라고 나왔습니다!


그리고 구글링으로 저 회사에서 만든 와이파이 모듈을 검색해보니 FCC에서 BL-R8188EU8 이라는 모듈이 나오네요.

https://fccid.io/S8JBLR8188EU8A/


저 위에 있는 보드 사진에 달려있는거하고 비교해보니 비슷한 것 같네요.


바로 모듈을 구입해서... 드디어! 오늘 도착했습니다. (혹시 몰라서 두개...)

메인 칩셋은 유명한 리얼텍꺼네요.



그리고 3D 프린터의 뒷 뚜껑을 열고, 바로 장착!

비포 앤 에프터 사진입니다.


그리고 전원을 켜보니 보이지 않던 와이파이 메뉴도 나오고,


제품 정보를 확인해보니 와이파이 맥 어드레스 정보도 나오고, 


원격으로 작업 시작도 되고 모니터링도 모두 됩니다!


휴.. 다행히 해피엔딩으로 끝났네요.



'Electronic > Hacking' 카테고리의 다른 글

때늦은 XBOX개조질;;;  (2) 2007.05.19

이 글을 보신분 중에서 한분에게 Genuino 101 보드를 드립니다.

MicrocontrollerIntel Curie
Operating Voltage3.3V (5V tolerant I/O)
Input Voltage (recommended)7-12V
Input Voltage (limit)7-17V
Digital I/O Pins14 (of which 4 provide PWM output)
PWM Digital I/O Pins4
Analog Input Pins6
DC Current per I/O Pin20 mA
Flash Memory196 kB
SRAM24 kB
Clock Speed32MHz
LED_BUILTIN13
FeaturesBluetooth LE, 6-axis accelerometer/gyro
Length68.6 mm
Width53.4 mm
Weight34 gr.

현재는 단종된 보드로 보입니다만 블루투스 4.0에 가속도 자이로 센서가 내장되어 있다는 장점이 있네요.


비밀 댓글로 손 들어 주세요~

'Electronic > Arduino' 카테고리의 다른 글

Genuino 101 프로그래밍 에러 해결.  (0) 2018.12.22
일이 안되니 뻘짓만 한다 ㅠㅠ  (0) 2013.02.16

이런거 가지고 놀기 좋아한다고 뜬금없이 다른 보드와 함께 선물받은 Genuino 101 보드.

좀 시대 지난 보드지만 그래도 다른 보드와 다른점도 있고(Intel® Curie™/x86 (Quark) and a 32-bit ARC architecture core, both clocked at 32MHz.),
나름 BLE도 내장하고 있다.

테스트로 한번 blink 코드를 올려보려 하는데 자꾸 에러가 난다.

# arduino101load -dfu=/Users/heisice/Library/Arduino15/packages/arduino/tools/dfu-util/0.9.0-arduino1 -bin=/var/folders/3v/62sy5_5j1b72zgmg3wrnll6c0000gn/T/arduino_build_60893/Blink.ino.bin -port=/dev/cu.usbmodem14201 -v -ble_fw_str="ATP1BLE00R-1631C4439" -ble_fw_pos=169984 -rtos_fw_str="" -rtos_fw_pos=0 -core=2.0.0
arduino101load 2.0.1 - compiled with go1.7.5
Starting download script...
Serial Port: /dev/cu.usbmodem14201
BIN FILE /var/folders/3v/62sy5_5j1b72zgmg3wrnll6c0000gn/T/arduino_build_60893/Blink.ino.bin
Waiting for device...
Waiting for device...
Device found!
exit status 74

구글링을 열심히 해보다가 뚜렷한 답이 없어서 쳐박아뒀었는데, 다시 꺼내봤다가 답을 찾았다.


결국 또 구글링이긴 한데
바이너리 업로드에 쓰이는 저 arduino101load라는 프로그램이 예전 버전은 되는데 기존 버전은 안된다는 것 같다.

결국 구글링한 페이지에 링크된 버전을 다운받아, 기존 프로그램이 있는곳에 복사해 넣어줬더니 정상 동작한다.

# arduino101load -dfu=/Users/heisice/Library/Arduino15/packages/arduino/tools/dfu-util/0.9.0-arduino1 -bin=/var/folders/3v/62sy5_5j1b72zgmg3wrnll6c0000gn/T/arduino_build_60893/Blink.ino.bin -port=/dev/cu.usbmodem14201 -v -ble_fw_str="ATP1BLE00R-1631C4439" -ble_fw_pos=169984 -rtos_fw_str="" -rtos_fw_pos=0 -core=2.0.0
arduino101load 2.0.2 - compiled with go1.7.5
Starting download script...
Serial Port: /dev/cu.usbmodem14201
BIN FILE /var/folders/3v/62sy5_5j1b72zgmg3wrnll6c0000gn/T/arduino_build_60893/Blink.ino.bin
Waiting for device...
Device found!
Verifying BLE version: ATP1BLE00R-1631C4439
BLE version: verified
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
dfu-util: Invalid DFU suffix signature
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Deducing device DFU version from functional descriptor length
Opening DFU capable USB device...
ID 8087:0aba
Run-time device DFU version 0011
Claiming USB DFU Interface...
Setting Alternate Setting #7 ...
Determining device status: state = dfuDNLOAD-IDLE, status = 0
aborting previous incomplete transfer
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0011
Device returned transfer size 2048
Copying data from PC to DFU device

Download [ ] 0% 0 bytes
Download [= ] 4% 2048 bytes
Download [== ] 8% 4096 bytes
Download [=== ] 12% 6144 bytes
Download [==== ] 16% 8192 bytes
Download [===== ] 20% 10240 bytes
Download [====== ] 24% 12288 bytes
Download [======= ] 28% 14336 bytes
Download [======== ] 32% 16384 bytes
Download [========= ] 36% 18432 bytes
Download [========== ] 40% 20480 bytes
Download [=========== ] 44% 22528 bytes
Download [============ ] 48% 24576 bytes
Download [============= ] 52% 26624 bytes
Download [============== ] 56% 28672 bytes
Download [=============== ] 60% 30720 bytes
Download [================ ] 64% 32768 bytes
Download [================= ] 68% 34816 bytes
Download [================== ] 72% 36864 bytes
Download [=================== ] 76% 38912 bytes
Download [==================== ] 80% 40960 bytes
Download [===================== ] 84% 43008 bytes
Download [====================== ] 88% 45056 bytes
Download [======================= ] 92% 47104 bytes
Download [======================== ] 96% 48732 bytes
Download [=========================] 100% 48732 bytes
Download done.
Sent a total of 48732 bytes
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
dfu-util: can't detach
Resetting USB to switch back to runtime mode
SUCCESS: Sketch will execute in about 5 seconds.


해당 프로그램 바이너리는 나중에 참조를 위해 이 글에 첨부하기로 한다.

arduino101load-2.0.0-darwin-testU.zip


참조: https://forum.arduino.cc/index.php?topic=467201.msg3205748#msg3205748

맥북에서 하드한 윈도우 환경이 필요한데 가상PC환경에서 쓰자니 좀 힘겨워 해서 가상 환경을 실제 환경으로 세팅했다.

근데 드라이버가 제대로 안돼있네?


다시 맥 환경으로 부팅해서 부트캠프지원 켜서 다운로드 기다리고 USB메모리 연결하고..


번거로워 찾아보니 좋은 도구를 만들어놨네?


https://github.com/timsutton/brigadier/releases


맥북용 윈도우 드라이버를 다운받으려면 그냥 exe파일 다운받은 다음에 실행만 하면 딱 맞는 드라이버를 자동으로 다운 받아준다.


다운로드가 끝나면 BootCamp-xxx-xxxxx 폴더가 생기고 안에 들어가서 BootCamp 폴더에 들어가면 Setup.exe가 있다.

실행하면 모든 드라이버가 자동으로 설치된다.

종종 SFTP를 이용해 서버에 파일을 업로드 하는데 갑자기 클라이언트에서 Connection timeout으로 접속이 되지 않는 문제가 발생.


서버에 로그를 확인해보니, 연결되자 마자 클라이언트에서 연결을 끊는다.

  
    $ tail -f /var/log/secure

    Accepted password for heisice from x.x.x.x port x ssh2
    pam_unix(sshd:session): session opened for user heisice by (uid=0)
    Received disconnect from x.x.x.x port x:11: disconnected by user
    Disconnected from x.x.x.x port x
    pam_unix(sshd:session): session closed for user heisice

그래서 클라이언트에서 command line sftp클라이언트에 -v 옵션을 주어 실행해보니,

  
    $ sftp -i ~/.ssh/key -v heisice@server.com

    ...

    debug2: fd 5 setting TCP_NODELAY
    debug2: client_session2_setup: id 0
    debug1: Sending environment.
    debug1: Sending env LANG = ko_KR.UTF-8
    debug2: channel 0: request env confirm 0
    debug1: Sending subsystem: sftp
    debug2: channel 0: request subsystem confirm 1
    debug2: channel_input_open_confirmation: channel 0: callback done
    debug2: channel 0: open confirm rwindow 0 rmax 32768
    debug2: channel 0: rcvd adjust 2097152
    debug2: channel_input_status_confirm: type 99 id 0
    debug2: subsystem request accepted on channel 0
    Received message too long 1315927840
    debug2: channel 0: read<=0 rfd 6 len 0
    debug2: channel 0: read failed
    debug2: channel 0: close_read
    debug2: channel 0: input open -> drain
    debug2: channel 0: ibuf empty
    debug2: channel 0: send eof
    debug2: channel 0: input drain -> closed
    debug2: channel 0: write failed
    
    ...


Received message too long 이라는 메세지가 보였다.


그래서 구글링 해보니 ssh 접속시 나오는 메세지 때문에 그런경우가 있다고 한다.
얼마전에 ~/.bashrc 파일에 추가해둔 초기화 명령에서 출력되는 메세지 때문에 그런듯 하다.

그래서 그 부분을 출력하지 않게 했더니 문제가 해결되었다.

+ Recent posts