عند تشغيل الشبكة لـ pi مقابل 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: ============================================
السبب المباشر لفشل sdtweak في تعيين العلم غير القابل للإزالة على pi4 هو أنه لا يُقصد به:
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
.
هل يمكن حل هذا من فضلك؟
لقد قمت بدفع ملفات .dts المحدثة إلى rpi-4.19.y التي تضيف sd_poll_once dtparams إلى جميع ملفات .dtbs المتلقية للمعلومات. يمكنك الحصول على نسخة مسبقة الصنع من bcm2711-rpi-4-b.dtb هنا . استخدم مع dtparam=sd_poll_once
.
بعد استخدام sd_poll_once
الآن لا يعمل المصباح الأخضر
مرحبًا pelwell ، لقد دفعت إصدارًا إلى Google Drive مرة أخرى في كانون الثاني (يناير) والذي أدى إلى حل هذه المشكلة. هل هناك فرصة لنشر التصحيح هنا؟
كما تقول وثائق sdtweak ، فإن الوظيفة التي توفرها متاحة الآن عبر dtparams الخاصة باللوحة:
dtparam=sd_poll_once
sdtweak مهمل بشكل فعال ، وسيتم إهماله وإزالته رسميًا.