View Full Version : FBSD 5.5 / XOrg 7.2 / DMA issues out of nowhere?
tuctboh
10-01-07, 11:05 PM
Hi,
Hopefully someone can help here, I'm not seeming to get much off FreeBSD-X11 or the XORG list.
I have a Dell laptop with FBSD 5.5-STABLE. When I had XOrg 6.? I would run the NVIDIA driver out of ports for my GeForce4 440 GO. The world was happy.
When I was forced to go to XOrg 7.2 in July 2007 when it brought itself up the first time it used the built in "nv" driver, and it was great. It worked perfectly. So, I went with that and uninstalled the additional nvidia driver.
All of a sudden 3 days ago the machine started to have XOrg lock up constantly. NOTHING had changed, it'd be up/running over 6 days at that point. There are dozens of things I could talk about, like the postage stamp sized pulsating bars hanging to the lower right of the cursor, etc.. But I don't want to lose people in too much info right now.
I basically narrowed it down that it seems that anything DMA oriented could be screwing up. In nv_xaa.c, it hangs in :
303 while(READ_GET(pNv) != pNv->dmaPut);
I've also seen it hang up somewhere in nv_drv.so in the
NVDmaWait routine. (I didn't have a debug copy running at the time to see the line number.
Is my video card just dying on me? Should I go back to using the external "nvidia" programs, and which one? (71xx or 96xx, they both look like they don't support my card)
If you need any of my config/output/etc files.........ASK!!!!!!!!!!
Thanks! Tuc
tuctboh
10-08-07, 05:29 PM
bump
SirDice
10-10-07, 04:03 AM
You won't get any support here regarding the open source nv driver.
I suggest you ask your question on the freebsd-x11 mailinglist.
There are dozens of things I could talk about, like the postage stamp sized pulsating bars hanging to the lower right of the cursor, etc..
One thing you could check, I've had some issues with it too, is the AGP aperture size in the BIOS. Set it to 128 or 256 and see if that helps. But the pulsating bars do sound like your card is FUBAR'ed.
tuctboh
10-10-07, 10:53 AM
You won't get any support here regarding the open source nv driver.
I suggest you ask your question on the freebsd-x11 mailinglist.
One thing you could check, I've had some issues with it too, is the AGP aperture size in the BIOS. Set it to 128 or 256 and see if that helps. But the pulsating bars do sound like your card is FUBAR'ed.
Hi,
Thanks for the reply. I've tried freebsd-x11 and xorg, and been met with deafening silence there. I also tried the NVIDIA driver, but had problems with that... I did what I was told... Posted here and emailed some email address.... Nothing.
You'll have to clue me in how to find that setting. I know how to get to the Dell BIOS, which has nothing in it for the video card that I can tell.
However, I do think your final thought is true. I opened the laptop, took the card out, reseated it, and when I turned it back on the DMA issue went away...........For 3 hours. Now the bars and other weird ****e is back. I've ordered a refurb card off Ebay and hope that'll be my solution.
Again, thank you VERY much for the reply.
tuctboh
10-14-07, 11:57 PM
You won't get any support here regarding the open source nv driver.
I suggest you ask your question on the freebsd-x11 mailinglist.
One thing you could check, I've had some issues with it too, is the AGP aperture size in the BIOS. Set it to 128 or 256 and see if that helps. But the pulsating bars do sound like your card is FUBAR'ed.
Refurb card ordered, installed yesterday, running on Xorg local driver for 48 hours now. Tried to switch over to NVidia ones, didn't get the error I got before, but also didn't seem to produce anything.
I guess the card was dying on me.
Thanks, you were the only one to even REPLY despite multiple posts to Xorg, FreeBSD-X11, and freebsd-gfx-bugs@nvidia.com .
Tuc
SirDice
10-16-07, 03:33 PM
Yeah, I know the feeling... Happens to me sometimes too :thumbdwn:
One thing I've learned over the years though..
If you ask a question and no-one answers it's likely that:
a) nobody understands the problem
Asking the right question is the tricky part, this includes giving any and all the information to solve the problem.
b) nobody knows how to solve the problem
You can run into something really weird..
c) nobody cares about your problem
It's a free world after all :D
So, the nv driver is running OK? That good to know.. At least we can progress from a working solution ;)
Does the nvidia driver work now too? You say you don't get any errors but it doesn't do anything?
tuctboh
10-16-07, 04:45 PM
c) nobody cares about your problem
It's a free world after all :D
So, the nv driver is running OK? That good to know.. At least we can progress from a working solution ;)
Does the nvidia driver work now too? You say you don't get any errors but it doesn't do anything?
C Regis, final answer. ;)
Yea, nv has (KNOCK KNOCK) been running fine a few days. I went to the nvidia driver but the screen was all black. Since the nv driver works, I'll stick with it. (No offense to nVidia though)
The screen just comes up black. If I CTRL-ALT-BACKSPACE it goes back to a standard text screen. I don't get the issues with the /dev/nvidia0 not being readable or stuff like that. I used nvidia-xconfig to configure, so thought it should work....
Do I really buy anything with the nvidia compared to nv?
Thanks! Tuc
SirDice
10-16-07, 06:02 PM
Added bonus compared to the nv driver would be OpenGL (hardware accelerated 3D) and the ability to use multiple screens (tv-out, dual monitor).
A Freebsd GNOME desktop and beryl/compiz rocks (nana2)
http://www.freshports.org/x11-wm/beryl/
http://www.freshports.org/x11-wm/compiz/
tuctboh
10-17-07, 12:03 AM
Added bonus compared to the nv driver would be OpenGL (hardware accelerated 3D) and the ability to use multiple screens (tv-out, dual monitor).
A Freebsd GNOME desktop and beryl/compiz rocks (nana2)
http://www.freshports.org/x11-wm/beryl/
http://www.freshports.org/x11-wm/compiz/
Ok, I'll take "OpenGL" as good enough...
So, where do I start to find out or provide info that might suggest why its just giving me a black screen?
Thanks, Tuc
SirDice
10-20-07, 01:33 PM
Some commands are usefull...
uname -a
Tells you the kernel name, version etc..
dmesg | less
Log of boot messages. Look for hardware being detected. Is the nvidia module loaded? With or without freebsd AGP?
kldstat
Shows which kernel modules are loaded. This doesn't show the devices that are build into the kernel though. Dmesg output will show the things that are detected by the kernel.
less /var/log/Xorg.0.log
Prime source of information regarding anything X related. Look for clues why things don't work.
ls /var/db/pkg/
Show which ports are installed
Did you install the driver via the ports? Do you also have /usr/ports/ports-mgmt/portupgrade installed?
Just a black screen would indicate that the nvidia driver is found but the monitor section is probably not set up properly
I'd also try starting X with:
startx -- -logverbose 5
that will put far more info into the /var/log/Xorg.0.log file!
tuctboh
10-23-07, 05:46 PM
Some commands are usefull...
uname -a
Tells you the kernel name, version etc..
dmesg | less
Log of boot messages. Look for hardware being detected. Is the nvidia module loaded? With or without freebsd AGP?
kldstat
Shows which kernel modules are loaded. This doesn't show the devices that are build into the kernel though. Dmesg output will show the things that are detected by the kernel.
less /var/log/Xorg.0.log
Prime source of information regarding anything X related. Look for clues why things don't work.
ls /var/db/pkg/
Show which ports are installed
Did you install the driver via the ports? Do you also have /usr/ports/ports-mgmt/portupgrade installed?
Just a black screen would indicate that the nvidia driver is found but the monitor section is probably not set up properly
uname -a :
FreeBSD himinbjorg.tucs-beachin-obx-house.com 5.5-STABLE FreeBSD 5.5-STABLE #9: Tue Jan 23 23:44:47 EST 2007 root@himinbjorg.tucs-beachin-obx-house.com:/usr/obj/usr/src/sys/HIMINBJORG53 i386
dmesg:
pci1: <ACPI PCI bus> on pcib1
nvidia0: <GeForce4 440 Go> mem 0xdff80000-0xdfffffff,0xe0000000-0xe7ffffff,0xfc0
00000-0xfcffffff irq 11 at device 0.0 on pci1
NVRM: detected agp.ko, aborting NVIDIA AGP setup!
himinbjorg# kldstat
Id Refs Address Size Name
1 33 0xc0400000 5cee14 kernel
2 1 0xc09cf000 587c vesa.ko
3 4 0xc09d5000 1b36c linux.ko
4 1 0xc09f1000 3704 umodem.ko
5 1 0xc09f5000 4deeb4 nvidia.ko
6 1 0xc0ed4000 86c0 ng_ubt.ko
7 6 0xc0edd000 dcac netgraph.ko
8 1 0xc0eeb000 40ac uplcom.ko
9 1 0xc0ef0000 8ba0 aio.ko
10 1 0xc0ef9000 580b0 acpi.ko
11 1 0xc2c8b000 6000 linprocfs.ko
12 4 0xc2db2000 2000 ng_bluetooth.ko
13 1 0xc2dbe000 d000 ng_hci.ko
14 1 0xc2dcb000 f000 ng_l2cap.ko
15 1 0xc2dda000 18000 ng_btsocket.ko
16 1 0xc2df3000 4000 ng_socket.ko
17 1 0xc2e0e000 2000 snake_saver.ko
18 1 0xc2ea3000 4000 if_tap.ko
19 1 0xc2eb6000 2000 rtc.ko
Xorg.0.log:
Shows everything normal... Attached for your reading enjoyment.
/var/db/pkg:
So freaking many after upgrading from 6.8 to 7.2 it isn't funny! Also attached for your amusement.
Driver from ports: Yup
portupgrade: Don't leave home w/o it.
Monitor section : Just as nvidia-xconfig made it :
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 30.0 - 110.0
VertRefresh 50.0 - 150.0
Option "DPMS"
EndSection
Monitor section from my "nv" running config :
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
# HorizSync 31.5 - 64.3
# VertRefresh 50.0 - 90.0
EndSection
SirDice
10-26-07, 04:12 PM
uname -a :
FreeBSD himinbjorg.tucs-beachin-obx-house.com 5.5-STABLE FreeBSD 5.5-STABLE #9: Tue Jan 23 23:44:47 EST 2007 root@himinbjorg.tucs-beachin-obx-house.com:/usr/obj/usr/src/sys/HIMINBJORG53 i386
dmesg:
pci1: <ACPI PCI bus> on pcib1
nvidia0: <GeForce4 440 Go> mem 0xdff80000-0xdfffffff,0xe0000000-0xe7ffffff,0xfc0
00000-0xfcffffff irq 11 at device 0.0 on pci1
NVRM: detected agp.ko, aborting NVIDIA AGP setup!
Ok. You've got a custom kernel. The NVidia driver is detecting the freebsd agp driver. I removed device agp from my kernel config and used the one build into the NVidia driver (Option NvAGP "1" in xorg.conf). You may want to try that too. IIRC it was recommended in the README.
himinbjorg# kldstat
Id Refs Address Size Name
1 33 0xc0400000 5cee14 kernel
2 1 0xc09cf000 587c vesa.ko
3 4 0xc09d5000 1b36c linux.ko
4 1 0xc09f1000 3704 umodem.ko
5 1 0xc09f5000 4deeb4 nvidia.ko
6 1 0xc0ed4000 86c0 ng_ubt.ko
7 6 0xc0edd000 dcac netgraph.ko
8 1 0xc0eeb000 40ac uplcom.ko
9 1 0xc0ef0000 8ba0 aio.ko
10 1 0xc0ef9000 580b0 acpi.ko
11 1 0xc2c8b000 6000 linprocfs.ko
12 4 0xc2db2000 2000 ng_bluetooth.ko
13 1 0xc2dbe000 d000 ng_hci.ko
14 1 0xc2dcb000 f000 ng_l2cap.ko
15 1 0xc2dda000 18000 ng_btsocket.ko
16 1 0xc2df3000 4000 ng_socket.ko
117 1 0xc2e0e000 2000 snake_saver.ko
18 1 0xc2ea3000 4000 if_tap.ko
19 1 0xc2eb6000 2000 rtc.ko
Try removing vesa_load=YES from /boot/loader.conf, that would probably mean removing the snake_saver too. The regular console (with the nvidia driver) can only run kind of plain i.e. no vidcontrol modes, not even a decent text one. Sad but true. Doesn't really matter if most of your time is spend in X anyway :D
Xorg.0.log:
Shows everything normal... Attached for your reading enjoyment.
Yup. Looks fine actually. It detects modes it can use.. One thing I forgot to ask cause I hadn't really picked up on the fact it's a notebook :rolleyes:
What resolution is the LCD itself? Can it do 1600x1200? Because that's the mode it selected.
Is there an external monitor connected? Is that possible on that model?
If you get a black screen try that Fn+F3(?) to make it switch from the internal to external screen and vice versa.
/var/db/pkg:
So freaking many after upgrading from 6.8 to 7.2 it isn't funny! Also attached for your amusement.
Aye.. Ports count was raised dramatically indeed. 7.2 still installed the old school monolithic way, everything but the kitchen sink. They've made some big improvements with the 7.3 port install. You're now able to select the parts you actually need and skip the rest.
Driver from ports: Yup
portupgrade: Don't leave home w/o it.
Cool. Agree on portupgrade I do :D
Monitor section : Just as nvidia-xconfig made it :
{snip}
Monitor section from my "nv" running config :
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
# HorizSync 31.5 - 64.3
# VertRefresh 50.0 - 90.0
EndSection
Don't bother with xconfig ;) Create a nice clean xorg that runs on the nv driver. Only manually change the driver from nv to nvidia. If it works without the HorizSync/VertRefresh lines you don't need 'm with the nvidia driver either. No need to anyway as the display (lcd) will tell the card (and driver) what it's able to handle.
As it is a laptop you may need to play a little with these options to get it to turn on the correct display:
Option "ConnectedMonitor" "string"
Allows you to override what the NVIDIA kernel module detects is connected to your graphics card. This may be useful, for example, if you use a KVM (keyboard, video, mouse) switch and you are switched away when X is started. In such a situation, the NVIDIA kernel module cannot detect what display devices are connected, and the NVIDIA X driver assumes you have a single CRT.
Valid values for this option are "CRT" (cathode ray tube), "DFP" (digital flat panel), or "TV" (television); if using TwinView, this option may be a comma-separated list of display devices; e.g.: "CRT, CRT" or "CRT, DFP".
It is generally recommended to not use this option, but instead use the "UseDisplayDevice" option.
NOTE: anything attached to a 15 pin VGA connector is regarded by the driver as a CRT. "DFP" should only be used to refer to digital flat panels connected via a DVI port.
Default: string is NULL (the NVIDIA driver will detect the connected display devices).
Option "UseDisplayDevice" "string"
When assigning display devices to X screens, the NVIDIA X driver by default assigns display devices in the order they are found (looking first at CRTs, then at DFPs, and finally at TVs). This option can be used to override this assignment. For example, if both a CRT and a DFP are connected, you could specify:
Option "UseDisplayDevice" "DFP"
to make the X screen use the DFP, even though it would have used a CRT by default.
Note the subtle difference between this option and the "ConnectedMonitor" option: the "ConnectedMonitor" option overrides what display devices are actually detected, while the "UseDisplayDevice" option controls which of the detected display devices will be used on this X screen.
Additionally, the special value "none" can be specified for the "UseDisplayDevice" option. When this value is given, any programming of the display hardware is disabled. The NVIDIA driver will not perform any mode validation or modesetting for this X screen. This is intended for use in conjunction with CUDA or in remote graphics solutions such as VNC or Hewlett Packard's Remote Graphics Software (RGS). This functionality is only available on Quadro and Tesla GPUs.
Note the following restrictions for setting the "UseDisplayDevice" to "none":
* OpenGL SyncToVBlank will have no effect.
* You must also explicitly specify the Virtual screen size for your X screen (see the xorg.conf(5x) or XF86Config(5x) manpages for the 'Virtual' option, or the nvidia-xconfig(1) manpage for the '--virtual' commandline option); the Virtual screen size must be at least 304x200, and the width must be a multiple of 8.
* None of Stereo, Overlay, CIOverlay, or SLI are allowed when "UseDisplayDevice" is set to "none".
Oh and I told about NvAGP:
Option "NvAGP" "integer"
Configure AGP support. Integer argument can be one of:
Value Behavior
0 disable AGP
1 use NVIDIA internal AGP support, if possible
2 use AGPGART, if possible
3 use any AGP support (try AGPGART, then NVIDIA AGP)
Note that NVIDIA internal AGP support cannot work if AGPGART is either statically compiled into your kernel or is built as a module and loaded into your kernel. See Chapter 9, Configuring AGP for details. Default: 3.
You can find a lot more options in appendix-f of the README.
vBulletin® v3.7.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.