Linux: sdtweak poll_once๋Š” Pi 4์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

์— ๋งŒ๋“  2019๋…„ 10์›” 14์ผ  ยท  6์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: raspberrypi/linux

dtoverlay=sdtweak,poll_once ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ด๋ฅผ ๋„คํŠธ์›Œํฌ๋กœ ๋ถ€ํŒ…ํ•  ๋•Œ ์นด๋“œ๋Š” ์—ฌ์ „ํžˆ ํด๋ง๋˜์–ด 10์ดˆ๋งˆ๋‹ค ์ŠคํŒธ ๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

[  144.474158] mmc0: Timeout waiting for hardware cmd interrupt.
[  144.474182] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[  144.474199] mmc0: sdhci: Sys addr:  0x00000000 | Version:  0x00001002
[  144.474205] mmc0: sdhci: Blk size:  0x00000000 | Blk cnt:  0x00000000
[  144.474213] mmc0: sdhci: Argument:  0x00000000 | Trn mode: 0x00000000
[  144.474221] mmc0: sdhci: Present:   0x1fff0001 | Host ctl: 0x00000001
[  144.474228] mmc0: sdhci: Power:     0x0000000f | Blk gap:  0x00000080
[  144.474234] mmc0: sdhci: Wake-up:   0x00000000 | Clock:    0x0000f447
[  144.474242] mmc0: sdhci: Timeout:   0x00000000 | Int stat: 0x00000000
[  144.474250] mmc0: sdhci: Int enab:  0x00ff1003 | Sig enab: 0x00ff1003
[  144.474257] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
[  144.474262] mmc0: sdhci: Caps:      0x45ee6432 | Caps_1:   0x0000a525
[  144.474267] mmc0: sdhci: Cmd:       0x0000371a | Max curr: 0x00080008
[  144.474275] mmc0: sdhci: Resp[0]:   0x00000000 | Resp[1]:  0x00000000
[  144.474280] mmc0: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
[  144.474284] mmc0: sdhci: Host ctl2: 0x00000000
[  144.474288] mmc0: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x00000000
[  144.474293] mmc0: sdhci: ============================================

๋ชจ๋“  6 ๋Œ“๊ธ€

sdtweak์ด pi4์— non-removable ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•˜์ง€ ๋ชปํ•œ ์ง์ ‘์ ์ธ ์›์ธ์€ ๋‹ค์Œ์„ ์˜๋ฏธํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

pi<strong i="6">@raspberrypi</strong>:~ $ dtoverlay -h sdtweak
Name:   sdtweak

Info:   Tunes the bcm2835-sdhost SD/MMC driver
        N.B. This functionality is now available via the sd_* dtparams in the
        base DTB.
...

ํ•„์š”ํ•œ ๊ฒƒ์€ ์ถ”๊ฐ€ํ•˜๊ธฐ ์‰ฌ์šด ์ผ๋ฐ˜ sd_pollonce dtparam์ž…๋‹ˆ๋‹ค. ๋‹จ, SD์นด๋“œ๋ฅผ ๋นผ๊ฑฐ๋‚˜ ๋Šฆ๊ฒŒ ๋„ฃ์—ˆ์„ ๋•Œ ๋ฐ˜์‘์ด ์ข‹์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์›ํ•˜๋Š” ๋Œ€๋กœ ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

sd_pollonce ์™ธ์— ์‹ค์ œ๋กœ ํ•„์š”ํ•œ ๊ฒƒ์€ ์•„๋งˆ๋„ sd_debug ์— ๋Œ€ํ•œ ์กฐ๊ฑด๋ถ€๋กœ ๋งŒ๋“œ๋Š” ๋กœ๊ทธ ์ŠคํŒธ์„ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋“œ๋ผ์ด๋ฒ„ ๋ณ€๊ฒฝ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  ๋‹ค์šด์ŠคํŠธ๋ฆผ .dtbs์— sd_poll_once dtparams๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์—…๋ฐ์ดํŠธ๋œ .dts ํŒŒ์ผ์„ rpi-4.19.y๋กœ ํ‘ธ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ bcm2711-rpi-4-b.dtb์˜ ๋ฏธ๋ฆฌ ๋นŒ๋“œ๋œ ๋ฒ„์ „์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . dtparam=sd_poll_once ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

sd_poll_once ๋ฅผ ์‚ฌ์šฉํ•œ ํ›„ ์ด์ œ ๋…น์ƒ‰ LED๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @pelwell ๋‹˜์€ 1์›”์— ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๋นŒ๋“œ๋ฅผ Google ๋“œ๋ผ์ด๋ธŒ์— ํ‘ธ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ํŒจ์น˜๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

sdtweak ๋ฌธ์„œ์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์ด์ œ ๋ณด๋“œ๋ณ„ dtparams๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

dtparam=sd_poll_once

sdtweak์€ ์‚ฌ์‹ค์ƒ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ๊ณต์‹์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰