|
||||||||||
I've tried disabling DMA at the login prompt for both disk and atapi devices and it does force PIO on the cdrom but still does not pick up the microdrive. I began to think that maybe it's the CF reader because I was able to write the microdrive fine with my CF reader in my home PC. Both m0n0 1.22, 1.3b2 and pfsense 1.01 are able to boot and pick up the microdrive fine on my home PC using the built in CF reader. But what's confusing is that the CF reader here at work does pick up the microdrive using m0n0 1.22 but doesn't with anything freebsd 6.x based which makes me think maybe its not really the reader, but some kind of driver or timing issue? I would have tried replacing the CF reader in the server here but it has very limited power options so I'm trying to come up with some kind of quick fix. Thanks Jomar -----Original Message----- From: krt [mailto:kkrrtt at gmail dot com] Sent: Monday, March 12, 2007 2:05 PM To: Jomar McDonald Cc: m0n0wall at lists dot m0n0 dot ch Subject: Re: [m0n0wall] ATA drivers differences between FreeBSD 4.11 and 6.2? > 1.9.1. Preparing loader.rc > > loader.rc is the file that the loader reads and interprets. For m0n0wall, it is used to disable ATA DMA (to increase compatibility with odd hardware, especially since CF/HD performance isn't very important in m0n0wall) and load the kernel and the MFS root file system. > > Create the file $BOOTDIR/loader.rc with the following contents: > > set hw.ata.atapi_dma="0" > set hw.ata.ata_dma="0" > load /kernel > load -t mfs_root /mfsroot > boot > > If you're building for a platform that only has a serial console, add the flag "-h" (without the quotes) to the "boot" command on the last line. > http://doc.m0n0.ch/dev/image-guide-bootloader.html That might help you somewhat. 1.22 has DMA disabled by default. FreeBSD 6.1 and 6.2 do not, and this definitely causes issues with many CF devices. > http://m0n0.ch/wall/list/showmsg.php?id=304/15 that's a post from a previous discussion on the topic 1.3b2 and later fix this by default. Jomar McDonald wrote: > I'm having a hell of a time configuring a Seagate 4GB ST640211CF > Microdrive with m0n0wall/pfsense based on FreeBSD 6.x... For some > reason, the ata driver in m0n0 1.22 reads the drive and allows me to use > it, with some errors, but FreeBSD 6.1 nor 6.2 will read the drive. Here > is the m0n0 1.22 log entry for the drive: > > > > ad0: timeout waiting for interrupt > > ad0: enabling readahead cache failed > > ad0: timeout waiting for interrupt > > ad0: enabling write cache failed > > ad0: READ command timeout tag=0 serv=0 - resetting > > ata0: resetting devices .. done > > ad0: 3906MB <ST640211CF> [7936/16/63] at ata0-master PIO4 > > > > So it forces PIO, which is fine.. But if I disable DMA at boot time for > m0n0 1.3b2 or pfsense 1.01, it doesn't pick up the drive. Does anyone > know what could have possibly changed or what could be causing this? > The BIOS and bootloader see the drive, but the freebsd kernel/ata driver > is having trouble with it. I'm familiar with Linux so recompiling the > kernel doesn't scare me so I'm wondering if I recompile m0n0 or pfsense > using the 4.11 ata.c, etc files, will that create a whole other list of > dependency issues? Can I recompile the older ata drivers under freebsd > 6.x? I'd really like to use these drives since we've already expensed > them but I read somewhere that Hitachi Microdrives work better for some > reason or another. If anyone has 4.11 compiled ata driver kernel > objects that would be helpful also, but I can recompile if necessary... > > > > > > Thanks in advance > > > > > > Jomar > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: m0n0wall dash unsubscribe at lists dot m0n0 dot ch For additional commands, e-mail: m0n0wall dash help at lists dot m0n0 dot ch |