ALIX 2D13,Linux 内核错误“序列号重新验证”使用紧凑型闪存和硬盘

发布于 2024-10-20 04:41:08 字数 1589 浏览 5 评论 0原文

我正在使用 crosstools-ng 为 alix 2d13 构建一个基于 Linux 的firmare,用于工具链,buildroot,用于根文件系统,以及 vanilla 内核...用于内核。

我需要使用紧凑型闪存和硬盘,但是当我将它们连接到 alix 时,我收到一个非常奇怪的错误:

[    1.072380] ata1.00: CFA: CF Card, Ver2.34, max UDMA/100
[    1.077738] ata1.00: 7880544 sectors, multi 0: LBA
[    1.082670] ata1.00: limited to UDMA/33 due to 40-wire cable
[    1.096260] ata1.00: serial number mismatch '6EB10703040700582043' != '6EB1p703040700582043'
[    1.104738] ata1.00: revalidation failed (errno=-19)
[    1.109740] ata1.00: limiting speed to UDMA/33:PIO3
.
.
.
[    6.209775] ata1.00: serial number mismatch '6EB10703040700582043' != '6EB1p703040700582043'
[    6.218324] ata1.00: revalidation failed (errno=-19)
[    6.222235] ata1.00: disabled

如果我将硬盘与 alix 分离,则一切正常。 hdparm 输出是:

Model=CF Card                                 , FwRev=Ver2.34 , SerialNo=6EB10703040700582043
Config={ HardSect NotMFM Fixed DTR>10Mbs }
RawCHS=7818/16/63, TrkSize=32256, SectSize=512, ECCbytes=4
BuffType=(2) DualPort, BuffSize=1kB, MaxMultSect=1, MultSect=?1?
CurCHS=7818/16/63, CurSects=7880544, LBA=yes, LBAsects=7880544
IORDY=yes, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes:  pio0 pio1 pio2 pio3 pio4
DMA modes:  mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2
AdvancedPM=no

alix 配置是 (C) CHS 模式 L LBA 模式 W HDD 等待 V HDD 从属 U UDMA 启用

我尝试使用 pata_amd 和pata_cs5536 但结果是一样的。

完整的内核输出在这里 http://pastebin.com/7wcvEdRG

i'm building a linux based firmare for an alix 2d13 using crosstools-ng, for the toolchain, buildroot, for the root filesystem, and vanilla kernel ... for the kernel.

I need to use compact flash and harddisk but, when i connect them to the alix, i get a really weird error:

[    1.072380] ata1.00: CFA: CF Card, Ver2.34, max UDMA/100
[    1.077738] ata1.00: 7880544 sectors, multi 0: LBA
[    1.082670] ata1.00: limited to UDMA/33 due to 40-wire cable
[    1.096260] ata1.00: serial number mismatch '6EB10703040700582043' != '6EB1p703040700582043'
[    1.104738] ata1.00: revalidation failed (errno=-19)
[    1.109740] ata1.00: limiting speed to UDMA/33:PIO3
.
.
.
[    6.209775] ata1.00: serial number mismatch '6EB10703040700582043' != '6EB1p703040700582043'
[    6.218324] ata1.00: revalidation failed (errno=-19)
[    6.222235] ata1.00: disabled

All works fine if i detach the harddisk from alix. hdparm output is:

Model=CF Card                                 , FwRev=Ver2.34 , SerialNo=6EB10703040700582043
Config={ HardSect NotMFM Fixed DTR>10Mbs }
RawCHS=7818/16/63, TrkSize=32256, SectSize=512, ECCbytes=4
BuffType=(2) DualPort, BuffSize=1kB, MaxMultSect=1, MultSect=?1?
CurCHS=7818/16/63, CurSects=7880544, LBA=yes, LBAsects=7880544
IORDY=yes, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes:  pio0 pio1 pio2 pio3 pio4
DMA modes:  mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2
AdvancedPM=no

And alix configuration is
(C) CHS mode L LBA mode W HDD wait V HDD slave U UDMA enable

I tried using pata_amd and pata_cs5536 but the result is the same.

Full kernel output is here
http://pastebin.com/7wcvEdRG

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

黄昏下泛黄的笔记 2024-10-27 04:41:08

您遇到硬件问题或严重的配置错误,设备和主机之间的位被扰乱。

当内核尝试从驱动器读取序列号(使用 ATA 识别设备命令)时,其中一个字节会发生一点翻转。请注意,错误字符 'p' (0x70)'0' (0x30) 只有一位不同。

打乱识别数据可能是最不重要的问题——读/写数据也可能不可靠。

如果仅当两个设备连接到同一带状电缆时才会发生这种情况,则以下两种情况之一为真:

  1. 这两个设备在共享总线时导致信号完整性问题。检查所有跳线设置。如果其他一切都正确,则要么寻找另一个设备、更好的电缆,要么放弃并且不要将它们放在同一根电缆上。
  2. 当两个设备都存在时,您的内核错误配置了 ATA 控制器。

You have a hardware problem or serious misconfiguration, where bits are getting scrambled between the device and host.

When the kernel tries to read the serial number from the drive (using an ATA identify device command), one of the bytes gets a bit flipped. Note that the bad character 'p' (0x70) is only one bit different from '0' (0x30).

It's likely that scrambling identify data is the least of your problems-- read/write data is probably unreliable as well.

If this only happens when you have two devices attached to the same ribbon cable, either one of two things is true:

  1. The two devices are causing signal integrity problems when sharing the bus. Check all of your jumper settings. If everything else is correct, either find another device, a better cable, or give up and don't put them on the same cable.
  2. Your kernel is misconfiguring the ATA controller when both devices are present.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文