Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    ATA_DMA is broken on the PC Engines ALIX

    1.2.1-RC Snapshot Feedback and Problems-RETIRED
    2
    10
    4.6k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dsamms
      last edited by

      ATA_DMA worked fine on the ALIX platform under version 1.2.  Under 1.2.1 as late as 20080909-0606 ATA_DMA must be disabled in order to boot.  Is there a specific pfSense developer who I could converse with about issue?

      1 Reply Last reply Reply Quote 0
      • E
        eri--
        last edited by

        You mean that you need to disable ata_dma during load otherwise you get the mountroot prompt?

        1 Reply Last reply Reply Quote 0
        • D
          dsamms
          last edited by

          Correct.  I have to add hw.ata.ata_dma="0" to /boot/loader.conf in order to boot 1.2.1 on ALIX.  I am using the IDE interface to a 2 1/2" disk drive so not having ata_dma is very noticeable.  (1/5 the speed)

          pfSense 1.2 release
          FreeBSD 6.2-RELEASE-p11 #0: Sun Feb 24 16:32:58 EST 2008

          dd if=/dev/zero of=/dev/ad0s2 bs=64k count=1000
          1000+0 records in
          1000+0 records out
          65536000 bytes transferred in 1.614227 secs (40598997 bytes/sec)

          pfSense 1.2.1 beta 20080909-0606
          FreeBSD 7.0-RELEASE-p4 #0: Tue Sep  9 05:39:10 EDT 2008

          dd if=/dev/zero of=/dev/ad0s2 bs=64k count=1000
          1000+0 records in
          1000+0 records out
          65536000 bytes transferred in 8.012389 secs (8179333 bytes/sec)

          1 Reply Last reply Reply Quote 0
          • E
            eri--
            last edited by

            are you on  the latest bios?

            1 Reply Last reply Reply Quote 0
            • D
              dsamms
              last edited by

              Yes, version 099.  Confirmed with PC Engines that is the latest BIOS.

              1 Reply Last reply Reply Quote 0
              • D
                dsamms
                last edited by

                I would guess the problem is related to this post.

                http://www.mavetju.org/mail/view_message.php?list=freebsd-i386&id=2748810

                Today I tried a custom pfSense build based on 7-STABLE as there were a lot of ATA changes since RELEASE, but it made no difference.  Tomorrow I will try implementing the patch referenced in the post.  My symptoms are identical.  FreeBSD 6 was selecting UDMA33 but FreeBSD 7 is selecting UDMA100.

                1 Reply Last reply Reply Quote 0
                • D
                  dsamms
                  last edited by

                  Success!

                  When the patch is added to 1.2.1 and an entry of hw.ata.ata_dma_limit="4" is added to /boot/loader.conf  The ALIX can read/write at ATA_UDMA=66

                  Patch will be submitted to the pfSense group.

                  1 Reply Last reply Reply Quote 0
                  • D
                    dsamms
                    last edited by

                    As of 10/28/2008 the patch I submitted on Sept 12, has NOT been integrated into pfSense 1.2.1.  Anyone running Soekris or ALIX with a hard disk drive will need to avoid version 1.2.1 until the issue has been addressed

                    1 Reply Last reply Reply Quote 0
                    • D
                      dsamms
                      last edited by

                      The patch has be committed as of today (10/29/2008).  Will test the new build in the morning.

                      1 Reply Last reply Reply Quote 0
                      • D
                        dsamms
                        last edited by

                        With a few post-install corrections, pfSense 1.2.1 works on ALIX with a hard disk drive.  Use a regular PC with a 40–>44 pin adapter to install pfSense selecting the "embedded kernel".  After the install is complete reboot and the restart off the CD a second time.  This time select option 8 to access a shell instead of install.

                        1. cd /tmp
                        2. atacontrol list
                            find your hard disk drive in the output above
                            you will need it in the commands below
                            should be something like ad0, ad2, ad4
                            replace the "X" below with your drive number
                        3. mount /dev/adX /mnt
                        4. cp /mnt/boot/mbr .
                        5. echo 'hw.ata.ata_dma_limit="4" ' >> /mnt/boot.loader
                        6. vi /mnt/etc/fstab
                            change the drive shown to /dev/ad0 instead of /dev/adX
                        7. umount /mnt
                        8. fdisk -B -b mbr adX
                            (remember to replace the "X" with your drive number)
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.