From: <no...@ho...> - 2007-06-08 15:07:20
|
All, I have a CFStix card with a 48mb compact flash card in it. This has been working on all previous rebuilds I have done to my kernel. After the new build I did last night, it no longer works. I suspect it has something to do with the fact that I changed the pcmcia drivers to be compiled into the kernel rather than loading them as modules as I have done until now. The odd thing about it is that when the system boots, I can see the drivers loading (the usual output to console), I can see it immediately identify my CF card, and /proc/devices shows pcmcia as device 254 and it shows a block device ide0 as device 3. This much seems normal/correct. It does not create any device files in /dev for hdaXX. If I use mknod and create the device files manually, then try to mount /dev/hda1, it tells me no such device. Since the drivers appear to be loading, and since /proc/devices show them out there, I don't understand why I can't mount the drive. I thought I would be saving a little time/trouble by compiling them as part of the kernel instead of modules. Also thought that would alleviate the silliness you have to go through (timing things out just right and waiting xxx seconds in scripts before trying to mount the drive upon bootup) by doing things this way. Do the pcmcia drivers HAVE to be compiled as modules to work correctly or did I botch something else or miss something else along the way when I rebuilt the kernel this time? Help?! --Pat |
From: Craig H. <cr...@gu...> - 2007-06-08 17:35:16
|
On Jun 8, 2007, at 8:07 AM, no...@ho... wrote: > > All, > I have a CFStix card with a 48mb compact flash card in it. > This has been working on all previous rebuilds I have done > to my kernel. > > After the new build I did last night, it no longer works. > I suspect it has something to do with the fact that I changed the > pcmcia drivers to be compiled into the kernel rather than loading > them as modules as I have done until now. > > The odd thing about it is that when the system boots, I can see the > drivers loading (the usual output to console), I can see it > immediately > identify my CF card, and /proc/devices shows pcmcia as device 254 and > it shows a block device ide0 as device 3. This much seems normal/ > correct. > It does not create any device files in /dev for hdaXX. > If I use mknod and create the device files manually, then try to mount > /dev/hda1, it tells me no such device. Since the drivers appear to be > loading, and since /proc/devices show them out there, I don't > understand > why I can't mount the drive. > > I thought I would be saving a little time/trouble by compiling them > as part of the kernel instead of modules. Also thought that would > alleviate the silliness you have to go through (timing things out just > right and waiting xxx seconds in scripts before trying to mount the > drive upon bootup) by doing things this way. > > Do the pcmcia drivers HAVE to be compiled as modules to work correctly > or did I botch something else or miss something else along the way > when I rebuilt the kernel this time? Are you also using the ethernet driver? If so, the pcmcia driver *must* be loaded *after* the ethernet driver. This might not be happening if they're both (or only pcmcia is) built in to the kernel. the reason ethernet needs to load first, is that when it probes for the possible 2nd ethernet controller, it uses some of the PCMCIA lines to do so, and when it resets the gpio alternate function on those lines, the pcmcia driver will get into a confused state from which it cannot recover. C |
From: <no...@ho...> - 2007-06-08 19:58:52
|
Craig, I have disabled any/all net related drivers, so nope, not loading any ethernet stuff. I am using a Robostix, Gumstix Connex 200 and CFStix together. So Ethernet, Bluetooth, Wifi all are disabled in my new kernel. I do have PPP and related modules compiled and available, though not loaded (I'll be using an embedded modem for dial-up networking). It's a fairly basic/straight forward kernel config. I guess I could rebuild the kernel using pcmcia as modules again. I was just hoping to compile it into the kernel since for my application, pcmcia/compact flash will always be in use and it just made sense. --Pat > > On Jun 8, 2007, at 8:07 AM, no...@ho... wrote: > >> >> All, >> I have a CFStix card with a 48mb compact flash card in it. >> This has been working on all previous rebuilds I have done >> to my kernel. >> >> After the new build I did last night, it no longer works. >> I suspect it has something to do with the fact that I changed the >> pcmcia drivers to be compiled into the kernel rather than loading >> them as modules as I have done until now. >> >> The odd thing about it is that when the system boots, I can see the >> drivers loading (the usual output to console), I can see it >> immediately >> identify my CF card, and /proc/devices shows pcmcia as device 254 and >> it shows a block device ide0 as device 3. This much seems normal/ >> correct. >> It does not create any device files in /dev for hdaXX. >> If I use mknod and create the device files manually, then try to mount >> /dev/hda1, it tells me no such device. Since the drivers appear to be >> loading, and since /proc/devices show them out there, I don't >> understand >> why I can't mount the drive. >> >> I thought I would be saving a little time/trouble by compiling them >> as part of the kernel instead of modules. Also thought that would >> alleviate the silliness you have to go through (timing things out just >> right and waiting xxx seconds in scripts before trying to mount the >> drive upon bootup) by doing things this way. >> >> Do the pcmcia drivers HAVE to be compiled as modules to work correctly >> or did I botch something else or miss something else along the way >> when I rebuilt the kernel this time? > > Are you also using the ethernet driver? If so, the pcmcia driver > *must* be loaded *after* the ethernet driver. This might not be > happening if they're both (or only pcmcia is) built in to the > kernel. the reason ethernet needs to load first, is that when it > probes for the possible 2nd ethernet controller, it uses some of the > PCMCIA lines to do so, and when it resets the gpio alternate function > on those lines, the pcmcia driver will get into a confused state from > which it cannot recover. > > C > > |
From: Craig H. <cr...@gu...> - 2007-06-08 20:58:43
|
Please do retry changing only making pcmcia be a module -- see if that works. I can't think why it would make a difference, but it's possible... C On Jun 8, 2007, at 12:58 PM, no...@ho... wrote: > > Craig, > I have disabled any/all net related drivers, so nope, not > loading any ethernet stuff. > > I am using a Robostix, Gumstix Connex 200 and CFStix together. > So Ethernet, Bluetooth, Wifi all are disabled in my new kernel. > I do have PPP and related modules compiled and available, > though not loaded (I'll be using an embedded modem for dial-up > networking). > > It's a fairly basic/straight forward kernel config. > > I guess I could rebuild the kernel using pcmcia as modules again. > I was just hoping to compile it into the kernel since for my > application, > pcmcia/compact flash will always be in use and it just made sense. > > --Pat > >> >> On Jun 8, 2007, at 8:07 AM, no...@ho... wrote: >> >>> >>> All, >>> I have a CFStix card with a 48mb compact flash card in it. >>> This has been working on all previous rebuilds I have done >>> to my kernel. >>> >>> After the new build I did last night, it no longer works. >>> I suspect it has something to do with the fact that I changed the >>> pcmcia drivers to be compiled into the kernel rather than loading >>> them as modules as I have done until now. >>> >>> The odd thing about it is that when the system boots, I can see the >>> drivers loading (the usual output to console), I can see it >>> immediately >>> identify my CF card, and /proc/devices shows pcmcia as device 254 >>> and >>> it shows a block device ide0 as device 3. This much seems normal/ >>> correct. >>> It does not create any device files in /dev for hdaXX. >>> If I use mknod and create the device files manually, then try to >>> mount >>> /dev/hda1, it tells me no such device. Since the drivers appear >>> to be >>> loading, and since /proc/devices show them out there, I don't >>> understand >>> why I can't mount the drive. >>> >>> I thought I would be saving a little time/trouble by compiling them >>> as part of the kernel instead of modules. Also thought that would >>> alleviate the silliness you have to go through (timing things out >>> just >>> right and waiting xxx seconds in scripts before trying to mount the >>> drive upon bootup) by doing things this way. >>> >>> Do the pcmcia drivers HAVE to be compiled as modules to work >>> correctly >>> or did I botch something else or miss something else along the way >>> when I rebuilt the kernel this time? >> >> Are you also using the ethernet driver? If so, the pcmcia driver >> *must* be loaded *after* the ethernet driver. This might not be >> happening if they're both (or only pcmcia is) built in to the >> kernel. the reason ethernet needs to load first, is that when it >> probes for the possible 2nd ethernet controller, it uses some of the >> PCMCIA lines to do so, and when it resets the gpio alternate function >> on those lines, the pcmcia driver will get into a confused state from >> which it cannot recover. >> >> C >> >> > |
From: <no...@ho...> - 2007-06-14 15:46:26
|
Craig, I finally got back on this and tried what you suggested. Oddly, using the same .config file to build the kernel with, and changing only pcmcia to be modules, the kernel I got wouldn't boot. Kept throwing out register values and retrying over and over to boot. I tried multiple rebuilds, even doing a make distclean on it first, then putting the .config back in and building it clean to no avail. Was just weird. So tonight I'll be tossing the whole config and starting over with a clean default build then work my way back to where I was with my options I guess. Obviously something in the .config has gotten changed and I don't see anything else out of the norm (from what I had before). Anyway, will try starting over clean. That will hopefully get it.. This is with build 1161 on a connex 200. If I were to download the latest build version, I would have to update the boot loader as well as the kernel right? If so, I'm not sure if I want to do that and will stick with the 1161 for now. Thanks.. > Please do retry changing only making pcmcia be a module -- see if > that works. I can't think why it would make a difference, but it's > possible... > > C > > On Jun 8, 2007, at 12:58 PM, no...@ho... wrote: > >> >> Craig, >> I have disabled any/all net related drivers, so nope, not >> loading any ethernet stuff. >> >> I am using a Robostix, Gumstix Connex 200 and CFStix together. >> So Ethernet, Bluetooth, Wifi all are disabled in my new kernel. >> I do have PPP and related modules compiled and available, >> though not loaded (I'll be using an embedded modem for dial-up >> networking). >> >> It's a fairly basic/straight forward kernel config. >> >> I guess I could rebuild the kernel using pcmcia as modules again. >> I was just hoping to compile it into the kernel since for my >> application, >> pcmcia/compact flash will always be in use and it just made sense. >> >> --Pat >> >>> >>> On Jun 8, 2007, at 8:07 AM, no...@ho... wrote: >>> >>>> >>>> All, >>>> I have a CFStix card with a 48mb compact flash card in it. >>>> This has been working on all previous rebuilds I have done >>>> to my kernel. >>>> >>>> After the new build I did last night, it no longer works. >>>> I suspect it has something to do with the fact that I changed the >>>> pcmcia drivers to be compiled into the kernel rather than loading >>>> them as modules as I have done until now. >>>> >>>> The odd thing about it is that when the system boots, I can see the >>>> drivers loading (the usual output to console), I can see it >>>> immediately >>>> identify my CF card, and /proc/devices shows pcmcia as device 254 >>>> and >>>> it shows a block device ide0 as device 3. This much seems normal/ >>>> correct. >>>> It does not create any device files in /dev for hdaXX. >>>> If I use mknod and create the device files manually, then try to >>>> mount >>>> /dev/hda1, it tells me no such device. Since the drivers appear >>>> to be >>>> loading, and since /proc/devices show them out there, I don't >>>> understand >>>> why I can't mount the drive. >>>> >>>> I thought I would be saving a little time/trouble by compiling them >>>> as part of the kernel instead of modules. Also thought that would >>>> alleviate the silliness you have to go through (timing things out >>>> just >>>> right and waiting xxx seconds in scripts before trying to mount the >>>> drive upon bootup) by doing things this way. >>>> >>>> Do the pcmcia drivers HAVE to be compiled as modules to work >>>> correctly >>>> or did I botch something else or miss something else along the way >>>> when I rebuilt the kernel this time? >>> >>> Are you also using the ethernet driver? If so, the pcmcia driver >>> *must* be loaded *after* the ethernet driver. This might not be >>> happening if they're both (or only pcmcia is) built in to the >>> kernel. the reason ethernet needs to load first, is that when it >>> probes for the possible 2nd ethernet controller, it uses some of the >>> PCMCIA lines to do so, and when it resets the gpio alternate function >>> on those lines, the pcmcia driver will get into a confused state from >>> which it cannot recover. >>> >>> C >>> >>> >> > > |
From: <no...@ho...> - 2007-06-14 15:51:00
|
I meant to ask one other thing related to this. My compact flash card always is seen as /dev/hda (while it was working before). The driver always dogs on bootup lookup for /dev/hdb then does a reset once it gives up on talking to hdb. There is nothing in /etc/fstab telling it to try to mount /dev/hdb, so where might I look to turn off the hdb check? Thanks! > Please do retry changing only making pcmcia be a module -- see if > that works. I can't think why it would make a difference, but it's > possible... > > C > > On Jun 8, 2007, at 12:58 PM, no...@ho... wrote: > >> >> Craig, >> I have disabled any/all net related drivers, so nope, not >> loading any ethernet stuff. >> >> I am using a Robostix, Gumstix Connex 200 and CFStix together. >> So Ethernet, Bluetooth, Wifi all are disabled in my new kernel. >> I do have PPP and related modules compiled and available, >> though not loaded (I'll be using an embedded modem for dial-up >> networking). >> >> It's a fairly basic/straight forward kernel config. >> >> I guess I could rebuild the kernel using pcmcia as modules again. >> I was just hoping to compile it into the kernel since for my >> application, >> pcmcia/compact flash will always be in use and it just made sense. >> >> --Pat >> >>> >>> On Jun 8, 2007, at 8:07 AM, no...@ho... wrote: >>> >>>> >>>> All, >>>> I have a CFStix card with a 48mb compact flash card in it. >>>> This has been working on all previous rebuilds I have done >>>> to my kernel. >>>> >>>> After the new build I did last night, it no longer works. >>>> I suspect it has something to do with the fact that I changed the >>>> pcmcia drivers to be compiled into the kernel rather than loading >>>> them as modules as I have done until now. >>>> >>>> The odd thing about it is that when the system boots, I can see the >>>> drivers loading (the usual output to console), I can see it >>>> immediately >>>> identify my CF card, and /proc/devices shows pcmcia as device 254 >>>> and >>>> it shows a block device ide0 as device 3. This much seems normal/ >>>> correct. >>>> It does not create any device files in /dev for hdaXX. >>>> If I use mknod and create the device files manually, then try to >>>> mount >>>> /dev/hda1, it tells me no such device. Since the drivers appear >>>> to be >>>> loading, and since /proc/devices show them out there, I don't >>>> understand >>>> why I can't mount the drive. >>>> >>>> I thought I would be saving a little time/trouble by compiling them >>>> as part of the kernel instead of modules. Also thought that would >>>> alleviate the silliness you have to go through (timing things out >>>> just >>>> right and waiting xxx seconds in scripts before trying to mount the >>>> drive upon bootup) by doing things this way. >>>> >>>> Do the pcmcia drivers HAVE to be compiled as modules to work >>>> correctly >>>> or did I botch something else or miss something else along the way >>>> when I rebuilt the kernel this time? >>> >>> Are you also using the ethernet driver? If so, the pcmcia driver >>> *must* be loaded *after* the ethernet driver. This might not be >>> happening if they're both (or only pcmcia is) built in to the >>> kernel. the reason ethernet needs to load first, is that when it >>> probes for the possible 2nd ethernet controller, it uses some of the >>> PCMCIA lines to do so, and when it resets the gpio alternate function >>> on those lines, the pcmcia driver will get into a confused state from >>> which it cannot recover. >>> >>> C >>> >>> >> > > |