Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Hardware & Devices
  4. Does anyone remember Tetradyne DriverX windows driver software?

Does anyone remember Tetradyne DriverX windows driver software?

Scheduled Pinned Locked Moved Hardware & Devices
helpdebuggingquestion
24 Posts 4 Posters 34 Views 1 Watching
  • 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.
  • G Offline
    G Offline
    GeorgeMayfield
    wrote on last edited by
    #1

    Does anyone remember Tetradyne DriverX windows driver software for WinXP and prior? I am looking for a copy of the file DxIntr3.h to build the kernel. I have all other sources. I bought a source license but Tetradyne Software is gone now. Much appreciation. More information: I started out just hoping someone had a copy of the file. W/o a copy I see I need to reinvent the missing file. I have gotten it to compile with the definitions: typedef struct { ULONG nOffset; ULONG cb; } READ_WRITE_DMA_BUFFER_INPUT, *PREAD_WRITE_DMA_BUFFER_INPUT; typedef unsigned char *PUCHAR; The whole function that requires these definitions is extracted from the file DxDriver.c: NTSTATUS DxReadWriteDmaBuffer(PDXDEV_EXTENSION pExtension, PVOID pIoBuffer, ULONG cbInput, PMDL mdl, BOOLEAN read) { PREAD_WRITE_DMA_BUFFER_INPUT params; PUCHAR pOutBuffer; // Validate parameters if (!pIoBuffer || (cbInput < sizeof(READ_WRITE_DMA_BUFFER_INPUT))) return STATUS_INVALID_PARAMETER; params = (PREAD_WRITE_DMA_BUFFER_INPUT) pIoBuffer; if ((params->nOffset + params->cb) > pExtension->nDmaBufSize) return STATUS_INVALID_PARAMETER; if (!mdl || (MmGetMdlByteCount(mdl) < params->cb)) return STATUS_INVALID_PARAMETER; if (!pExtension->pDmaBuffer) return STATUS_UNSUCCESSFUL; pOutBuffer = MmGetSystemAddressForMdl(mdl); if (!pOutBuffer) return STATUS_UNSUCCESSFUL; if (read) { RtlCopyMemory( pOutBuffer, (PUCHAR) pExtension->pDmaBuffer + params->nOffset, params->cb); } else { RtlCopyMemory( (PUCHAR) pExtension->pDmaBuffer + params->nOffset, pOutBuffer, params->cb); } return STATUS_SUCCESS; } Anyone see any problem here? Thanks for the help and clues. Now I move to debug. Bless you all. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Thanks Mr. Muchies for clues and hints. I have it actually working now. Turned out the DMA part was crucial. Now the trick is to port to Windows 7. Any advice or good links you have? Seems like eliminating the HAL calls will be a large part. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    M 2 Replies Last reply
    0
    • G GeorgeMayfield

      Does anyone remember Tetradyne DriverX windows driver software for WinXP and prior? I am looking for a copy of the file DxIntr3.h to build the kernel. I have all other sources. I bought a source license but Tetradyne Software is gone now. Much appreciation. More information: I started out just hoping someone had a copy of the file. W/o a copy I see I need to reinvent the missing file. I have gotten it to compile with the definitions: typedef struct { ULONG nOffset; ULONG cb; } READ_WRITE_DMA_BUFFER_INPUT, *PREAD_WRITE_DMA_BUFFER_INPUT; typedef unsigned char *PUCHAR; The whole function that requires these definitions is extracted from the file DxDriver.c: NTSTATUS DxReadWriteDmaBuffer(PDXDEV_EXTENSION pExtension, PVOID pIoBuffer, ULONG cbInput, PMDL mdl, BOOLEAN read) { PREAD_WRITE_DMA_BUFFER_INPUT params; PUCHAR pOutBuffer; // Validate parameters if (!pIoBuffer || (cbInput < sizeof(READ_WRITE_DMA_BUFFER_INPUT))) return STATUS_INVALID_PARAMETER; params = (PREAD_WRITE_DMA_BUFFER_INPUT) pIoBuffer; if ((params->nOffset + params->cb) > pExtension->nDmaBufSize) return STATUS_INVALID_PARAMETER; if (!mdl || (MmGetMdlByteCount(mdl) < params->cb)) return STATUS_INVALID_PARAMETER; if (!pExtension->pDmaBuffer) return STATUS_UNSUCCESSFUL; pOutBuffer = MmGetSystemAddressForMdl(mdl); if (!pOutBuffer) return STATUS_UNSUCCESSFUL; if (read) { RtlCopyMemory( pOutBuffer, (PUCHAR) pExtension->pDmaBuffer + params->nOffset, params->cb); } else { RtlCopyMemory( (PUCHAR) pExtension->pDmaBuffer + params->nOffset, pOutBuffer, params->cb); } return STATUS_SUCCESS; } Anyone see any problem here? Thanks for the help and clues. Now I move to debug. Bless you all. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Thanks Mr. Muchies for clues and hints. I have it actually working now. Turned out the DMA part was crucial. Now the trick is to port to Windows 7. Any advice or good links you have? Seems like eliminating the HAL calls will be a large part. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

      M Offline
      M Offline
      Munchies_Matt
      wrote on last edited by
      #2

      Blimey, never heard of it, and I have been writing windows drivers since the 90s. Can you recreate it? Sounds like it might have some defines, some wrappers round WDM api funcs, that kind if thing.

      "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

      G 1 Reply Last reply
      0
      • M Munchies_Matt

        Blimey, never heard of it, and I have been writing windows drivers since the 90s. Can you recreate it? Sounds like it might have some defines, some wrappers round WDM api funcs, that kind if thing.

        "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

        G Offline
        G Offline
        GeorgeMayfield
        wrote on last edited by
        #3

        To build a version 4xxx kernel driver they use some stuff defined for the version 3xxx driver. Most is interrupt related and since the user mode part of the driver compiles just fine w/o it I concluded that I did not need the old interrupt parts so I faked it. However the DMA parts wrap new methods around the methods of the prior versions and therefore need some definitions for the driver to compile. At the moment I need definition/declarations for PREAD_WRITE_DMA_BUFFER_INPUT and PUCHAR. These might be structures based on compile errors I get when I typedef'd them to integers to see what would happen. I was hoping in the vastness of space and time and the Internet someone had a copy of the file DxIntr3.h that they would share. Thanks for caring.

        J M 2 Replies Last reply
        0
        • G GeorgeMayfield

          To build a version 4xxx kernel driver they use some stuff defined for the version 3xxx driver. Most is interrupt related and since the user mode part of the driver compiles just fine w/o it I concluded that I did not need the old interrupt parts so I faked it. However the DMA parts wrap new methods around the methods of the prior versions and therefore need some definitions for the driver to compile. At the moment I need definition/declarations for PREAD_WRITE_DMA_BUFFER_INPUT and PUCHAR. These might be structures based on compile errors I get when I typedef'd them to integers to see what would happen. I was hoping in the vastness of space and time and the Internet someone had a copy of the file DxIntr3.h that they would share. Thanks for caring.

          J Offline
          J Offline
          Jochen Arndt
          wrote on last edited by
          #4

          I guess the second one is unsigned char * (Pointer to Unsigned CHAR). The first one may be the same or more likely a pointer to the second (unsigned char ** as pointer to address of DMA input buffer).

          G 1 Reply Last reply
          0
          • J Jochen Arndt

            I guess the second one is unsigned char * (Pointer to Unsigned CHAR). The first one may be the same or more likely a pointer to the second (unsigned char ** as pointer to address of DMA input buffer).

            G Offline
            G Offline
            GeorgeMayfield
            wrote on last edited by
            #5

            Thank you. I think you are exactly right about PUCHAR. However, the other is more complicated. Still working on that one.

            1 Reply Last reply
            0
            • G GeorgeMayfield

              To build a version 4xxx kernel driver they use some stuff defined for the version 3xxx driver. Most is interrupt related and since the user mode part of the driver compiles just fine w/o it I concluded that I did not need the old interrupt parts so I faked it. However the DMA parts wrap new methods around the methods of the prior versions and therefore need some definitions for the driver to compile. At the moment I need definition/declarations for PREAD_WRITE_DMA_BUFFER_INPUT and PUCHAR. These might be structures based on compile errors I get when I typedef'd them to integers to see what would happen. I was hoping in the vastness of space and time and the Internet someone had a copy of the file DxIntr3.h that they would share. Thanks for caring.

              M Offline
              M Offline
              Munchies_Matt
              wrote on last edited by
              #6

              As Joachim says a puchar is just a 32 bit (or 64 bit) pointer, in this case, to an unsigned char. PREAD_WRITE_DMA_BUFFER_INPUT is also going to be a generic pointer, and will be the size of the addressing on the OKS, so 32 or 64 bit, so a pvoid will do, or pulong, (or if you are doing it properly use SIZE_T since it cross compiles).

              "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

              G 1 Reply Last reply
              0
              • M Munchies_Matt

                As Joachim says a puchar is just a 32 bit (or 64 bit) pointer, in this case, to an unsigned char. PREAD_WRITE_DMA_BUFFER_INPUT is also going to be a generic pointer, and will be the size of the addressing on the OKS, so 32 or 64 bit, so a pvoid will do, or pulong, (or if you are doing it properly use SIZE_T since it cross compiles).

                "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                G Offline
                G Offline
                GeorgeMayfield
                wrote on last edited by
                #7

                Thanks. I have edited the original post to include the code involved. Comments would be appreciated.

                1 Reply Last reply
                0
                • G GeorgeMayfield

                  Does anyone remember Tetradyne DriverX windows driver software for WinXP and prior? I am looking for a copy of the file DxIntr3.h to build the kernel. I have all other sources. I bought a source license but Tetradyne Software is gone now. Much appreciation. More information: I started out just hoping someone had a copy of the file. W/o a copy I see I need to reinvent the missing file. I have gotten it to compile with the definitions: typedef struct { ULONG nOffset; ULONG cb; } READ_WRITE_DMA_BUFFER_INPUT, *PREAD_WRITE_DMA_BUFFER_INPUT; typedef unsigned char *PUCHAR; The whole function that requires these definitions is extracted from the file DxDriver.c: NTSTATUS DxReadWriteDmaBuffer(PDXDEV_EXTENSION pExtension, PVOID pIoBuffer, ULONG cbInput, PMDL mdl, BOOLEAN read) { PREAD_WRITE_DMA_BUFFER_INPUT params; PUCHAR pOutBuffer; // Validate parameters if (!pIoBuffer || (cbInput < sizeof(READ_WRITE_DMA_BUFFER_INPUT))) return STATUS_INVALID_PARAMETER; params = (PREAD_WRITE_DMA_BUFFER_INPUT) pIoBuffer; if ((params->nOffset + params->cb) > pExtension->nDmaBufSize) return STATUS_INVALID_PARAMETER; if (!mdl || (MmGetMdlByteCount(mdl) < params->cb)) return STATUS_INVALID_PARAMETER; if (!pExtension->pDmaBuffer) return STATUS_UNSUCCESSFUL; pOutBuffer = MmGetSystemAddressForMdl(mdl); if (!pOutBuffer) return STATUS_UNSUCCESSFUL; if (read) { RtlCopyMemory( pOutBuffer, (PUCHAR) pExtension->pDmaBuffer + params->nOffset, params->cb); } else { RtlCopyMemory( (PUCHAR) pExtension->pDmaBuffer + params->nOffset, pOutBuffer, params->cb); } return STATUS_SUCCESS; } Anyone see any problem here? Thanks for the help and clues. Now I move to debug. Bless you all. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Thanks Mr. Muchies for clues and hints. I have it actually working now. Turned out the DMA part was crucial. Now the trick is to port to Windows 7. Any advice or good links you have? Seems like eliminating the HAL calls will be a large part. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                  M Offline
                  M Offline
                  Munchies_Matt
                  wrote on last edited by
                  #8

                  Looks OK. Your definitions fit with the code, time to run it up and see if it crashes! :)

                  "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                  G M 2 Replies Last reply
                  0
                  • M Munchies_Matt

                    Looks OK. Your definitions fit with the code, time to run it up and see if it crashes! :)

                    "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                    G Offline
                    G Offline
                    GeorgeMayfield
                    wrote on last edited by
                    #9

                    Yes, I must now put together a WinXP system to test it. Take me a day or so. This code is in the kernel driver. The corresponding user mode driver in this configuration does not as best as I can tell contain a path that calls the function in question so I just needed it to compile (I hope). O/w I am pretty sure it will crash for lack of an actual buffer. If it works my next chore is to port it to Win7 x64, so I may be back! Appreciate the support to date. Thanks. George

                    M 1 Reply Last reply
                    0
                    • G GeorgeMayfield

                      Yes, I must now put together a WinXP system to test it. Take me a day or so. This code is in the kernel driver. The corresponding user mode driver in this configuration does not as best as I can tell contain a path that calls the function in question so I just needed it to compile (I hope). O/w I am pretty sure it will crash for lack of an actual buffer. If it works my next chore is to port it to Win7 x64, so I may be back! Appreciate the support to date. Thanks. George

                      M Offline
                      M Offline
                      Munchies_Matt
                      wrote on last edited by
                      #10

                      Try using SIZE_T for pointers, they automatically map to 32 and 64 bit addresses depending on which platform you compile for.

                      "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                      G 1 Reply Last reply
                      0
                      • M Munchies_Matt

                        Try using SIZE_T for pointers, they automatically map to 32 and 64 bit addresses depending on which platform you compile for.

                        "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                        G Offline
                        G Offline
                        GeorgeMayfield
                        wrote on last edited by
                        #11

                        Thanks Mr. Muchies for clues and hints. I have it actually working now. Turned out the DMA part was crucial. Now the trick is to port to Windows 7. Any advice or good links you have? Seems like eliminating the HAL calls will be a large part. Thanks again.

                        M 1 Reply Last reply
                        0
                        • G GeorgeMayfield

                          Thanks Mr. Muchies for clues and hints. I have it actually working now. Turned out the DMA part was crucial. Now the trick is to port to Windows 7. Any advice or good links you have? Seems like eliminating the HAL calls will be a large part. Thanks again.

                          M Offline
                          M Offline
                          Munchies_Matt
                          wrote on last edited by
                          #12

                          Whats it running on now, XP? THe 32 bit image will run on win7 (unless its USB, in which case it might need a tweak or two). As for 64 bit, all your pointers are going to need looking at to make sure they are compatible, that's why I suggested using SIZE_T as it macros to the right size automatically. Apart form thagt its just a case of building it in the 64 bit env and running it up the pole to see what happens

                          "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                          G 1 Reply Last reply
                          0
                          • M Munchies_Matt

                            Whats it running on now, XP? THe 32 bit image will run on win7 (unless its USB, in which case it might need a tweak or two). As for 64 bit, all your pointers are going to need looking at to make sure they are compatible, that's why I suggested using SIZE_T as it macros to the right size automatically. Apart form thagt its just a case of building it in the 64 bit env and running it up the pole to see what happens

                            "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                            G Offline
                            G Offline
                            GeorgeMayfield
                            wrote on last edited by
                            #13

                            It is running in XP, but I was suspicious when the DDK seemed to be making a Win7 x86 driver. Gave lots of "deprecated" warnings but built anyway [these warnings did not trigger the "warning same as error" switch]. It worked in XP, but Win7 x86 did not like my inf file. Anyway, on a hunch I installed Windows 7 32 bit on my test rig and gave it a try. So far it won't work but I am working on my inf file. It is a simple driver that maps memory to my device where I have memory mapped control/status areas and some DMA memory for i/o. I am hopeful that may work since it is not USB or storage or network. As for Win7 x64, thanks for the SIZE_T suggestion. I am sure it will help. Not so sure what to do about the Hal_xxx calls which are not defined in the amd64/x64 model. Anyway, still plugging. To run on Win7 x86 would be a step forward since my customers don't like running XP anymore. Thanks for your input!

                            M 1 Reply Last reply
                            0
                            • G GeorgeMayfield

                              It is running in XP, but I was suspicious when the DDK seemed to be making a Win7 x86 driver. Gave lots of "deprecated" warnings but built anyway [these warnings did not trigger the "warning same as error" switch]. It worked in XP, but Win7 x86 did not like my inf file. Anyway, on a hunch I installed Windows 7 32 bit on my test rig and gave it a try. So far it won't work but I am working on my inf file. It is a simple driver that maps memory to my device where I have memory mapped control/status areas and some DMA memory for i/o. I am hopeful that may work since it is not USB or storage or network. As for Win7 x64, thanks for the SIZE_T suggestion. I am sure it will help. Not so sure what to do about the Hal_xxx calls which are not defined in the amd64/x64 model. Anyway, still plugging. To run on Win7 x86 would be a step forward since my customers don't like running XP anymore. Thanks for your input!

                              M Offline
                              M Offline
                              Munchies_Matt
                              wrote on last edited by
                              #14

                              So it looks like you used the win7 32 bit build env, why not use the XP32 bit one? Ad for the inf file, run it through chkinf, its a tool that's part of the DDK, it will tell you whats missing. Hal_xxx? Ah, you could be screwed then. Are you calling x86 specific hal funcs? THey shouldn't be visible, are you sure they are part of the allowed api or are they a hidden func? If you are calling them MSFT wont sign your driver. If you stick to the allowed api it should be the same for all hardware platforms. NT4 used to run on Dec Alphas, Mips, x86, all sorts of stuff.

                              "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                              G 1 Reply Last reply
                              0
                              • M Munchies_Matt

                                So it looks like you used the win7 32 bit build env, why not use the XP32 bit one? Ad for the inf file, run it through chkinf, its a tool that's part of the DDK, it will tell you whats missing. Hal_xxx? Ah, you could be screwed then. Are you calling x86 specific hal funcs? THey shouldn't be visible, are you sure they are part of the allowed api or are they a hidden func? If you are calling them MSFT wont sign your driver. If you stick to the allowed api it should be the same for all hardware platforms. NT4 used to run on Dec Alphas, Mips, x86, all sorts of stuff.

                                "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                                G Offline
                                G Offline
                                GeorgeMayfield
                                wrote on last edited by
                                #15

                                "So it looks like you used the win7 32 bit build env, why not use the XP32 bit one? >>> Actually I got confused building an XP driver and when it worked in XP I was really confused. Gave me the idea to try Win7 x86. "Ad for the inf file, run it through chkinf, its a tool that's part of the DDK, it will tell you whats missing." >>> I did do that and it was helpful. Apparently not all things are required, though, such as the CAT (certificate). Just have to confirm at install time. "Hal_xxx? Ah, you could be screwed then. Are you calling x86 specific hal funcs?" >>> Yes. As I said, I did get deprecation warnings but it ran in XP. It may run in Win7 x86 if I can fix it. Seems to be having trouble with initialization. I do use the registry functions also and that is where my current efforts lie. When I try to build for Win7 x64 the Hal_xxx deprecation warnings turn to undefined errors. So I am guessing that Hal_xxx functions are present in Win7 x86. Maybe Win7 x86 is really a jazzed up XP? Can't find any info about that. My current efforts now turn to setting up a debug environment so I can trace what is going wrong. The device manager is flagging the initialization, but that covers a lot of ground. Thanks for suggestions.

                                M 1 Reply Last reply
                                0
                                • G GeorgeMayfield

                                  "So it looks like you used the win7 32 bit build env, why not use the XP32 bit one? >>> Actually I got confused building an XP driver and when it worked in XP I was really confused. Gave me the idea to try Win7 x86. "Ad for the inf file, run it through chkinf, its a tool that's part of the DDK, it will tell you whats missing." >>> I did do that and it was helpful. Apparently not all things are required, though, such as the CAT (certificate). Just have to confirm at install time. "Hal_xxx? Ah, you could be screwed then. Are you calling x86 specific hal funcs?" >>> Yes. As I said, I did get deprecation warnings but it ran in XP. It may run in Win7 x86 if I can fix it. Seems to be having trouble with initialization. I do use the registry functions also and that is where my current efforts lie. When I try to build for Win7 x64 the Hal_xxx deprecation warnings turn to undefined errors. So I am guessing that Hal_xxx functions are present in Win7 x86. Maybe Win7 x86 is really a jazzed up XP? Can't find any info about that. My current efforts now turn to setting up a debug environment so I can trace what is going wrong. The device manager is flagging the initialization, but that covers a lot of ground. Thanks for suggestions.

                                  M Offline
                                  M Offline
                                  Munchies_Matt
                                  wrote on last edited by
                                  #16

                                  Ah, win 7 signing, cat files. OK, for win7 32 bit run a command shell and type bcdedit -set testsigning on and bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS When you restart you should see 'TestMode' appear in the bottom right. For win7 64 bit you need to test sign the driver, and do the above. Look at test signing on loine, you need to use inf2cat and signtool and import the certificate into certstore. Debugging looks daunting at first, but when you get it going its a doddle. WUndbg, and I use firewire, it is quicker than serial. Look at symSrv for MSFTs public symbols, they are very useful. As for Hal, I wasn't aware they had dropped some funcs from the kernel API, but perhaps they have, or they were forbidden funcs. Look in the DDK documentation, if you cant find them, they are forbidden. :)

                                  "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                                  G 1 Reply Last reply
                                  0
                                  • M Munchies_Matt

                                    Ah, win 7 signing, cat files. OK, for win7 32 bit run a command shell and type bcdedit -set testsigning on and bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS When you restart you should see 'TestMode' appear in the bottom right. For win7 64 bit you need to test sign the driver, and do the above. Look at test signing on loine, you need to use inf2cat and signtool and import the certificate into certstore. Debugging looks daunting at first, but when you get it going its a doddle. WUndbg, and I use firewire, it is quicker than serial. Look at symSrv for MSFTs public symbols, they are very useful. As for Hal, I wasn't aware they had dropped some funcs from the kernel API, but perhaps they have, or they were forbidden funcs. Look in the DDK documentation, if you cant find them, they are forbidden. :)

                                    "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                                    G Offline
                                    G Offline
                                    GeorgeMayfield
                                    wrote on last edited by
                                    #17

                                    As far as signing, the Device Manager driver install hassled me with Q&A about did I really want to do it this and then seemed to try to install. That is when I got the init error. "DDISABLE_INTEGRITY_CHECKS" >>> I put in both DDISABLE_INTEGRITY_CHECKS and DISABLE_INTEGRITY_CHECKS to be sure. Both were accepted and it worked, system booted in test mode as you said. I use Remote Desktop to run the target test machine and I have a 1 Gb Ethernet connection. I will have to read the docs to figure out how to run debugger. For regular apps I install the Visual Studio remote debugger on the target and hook Visual Studio to it over the LAN. Pretty sure this will not work for kernel mode debugging. Sorry, I did not understand your debugging suggestion. Any good docs, links, etc. you would recommend? And thank you very much for your support. It is appreciated. I figure I will baby step my way to a full Win7 x64 driver. Win7 x86 is a good stepping stone I think. Thanks again.

                                    M 1 Reply Last reply
                                    0
                                    • G GeorgeMayfield

                                      As far as signing, the Device Manager driver install hassled me with Q&A about did I really want to do it this and then seemed to try to install. That is when I got the init error. "DDISABLE_INTEGRITY_CHECKS" >>> I put in both DDISABLE_INTEGRITY_CHECKS and DISABLE_INTEGRITY_CHECKS to be sure. Both were accepted and it worked, system booted in test mode as you said. I use Remote Desktop to run the target test machine and I have a 1 Gb Ethernet connection. I will have to read the docs to figure out how to run debugger. For regular apps I install the Visual Studio remote debugger on the target and hook Visual Studio to it over the LAN. Pretty sure this will not work for kernel mode debugging. Sorry, I did not understand your debugging suggestion. Any good docs, links, etc. you would recommend? And thank you very much for your support. It is appreciated. I figure I will baby step my way to a full Win7 x64 driver. Win7 x86 is a good stepping stone I think. Thanks again.

                                      M Offline
                                      M Offline
                                      Munchies_Matt
                                      wrote on last edited by
                                      #18

                                      GeorgeMayfield wrote:

                                      regular apps I install the Visual Studio remote debugger on the target and hook Visual Studio to it over the LAN. Pretty sure this will not work for kernel mode debugging

                                      It wont. You need to enable debug in the kernel, its the ini file on XP, or system configuration on win7. I like firewire, its quick, but not all machines have it, but you can get firewore pccards and pic cards. For info on this just google it, MSDN will be a good source, OSR online is another great kernel source, very good n fact. Have fun! Its the bitchiest learning curve in the world, but when you master the windows kernel, everything else is childs play! :)

                                      "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                                      G 1 Reply Last reply
                                      0
                                      • M Munchies_Matt

                                        GeorgeMayfield wrote:

                                        regular apps I install the Visual Studio remote debugger on the target and hook Visual Studio to it over the LAN. Pretty sure this will not work for kernel mode debugging

                                        It wont. You need to enable debug in the kernel, its the ini file on XP, or system configuration on win7. I like firewire, its quick, but not all machines have it, but you can get firewore pccards and pic cards. For info on this just google it, MSDN will be a good source, OSR online is another great kernel source, very good n fact. Have fun! Its the bitchiest learning curve in the world, but when you master the windows kernel, everything else is childs play! :)

                                        "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                                        G Offline
                                        G Offline
                                        GeorgeMayfield
                                        wrote on last edited by
                                        #19

                                        Thank you Mr. Munchies. I am a newbie at this and did not understand most of your debugging input. I have Ethernet and hope that will work for remote. Or I will install tools directly on my target and just work locally. I will see what DDK docs say. I do appreciate the input. I will probably not have anything to say for awhile since now I must also do my taxes. I am a schedule C guy and that takes time. Thanks.

                                        M 1 Reply Last reply
                                        0
                                        • G GeorgeMayfield

                                          Thank you Mr. Munchies. I am a newbie at this and did not understand most of your debugging input. I have Ethernet and hope that will work for remote. Or I will install tools directly on my target and just work locally. I will see what DDK docs say. I do appreciate the input. I will probably not have anything to say for awhile since now I must also do my taxes. I am a schedule C guy and that takes time. Thanks.

                                          M Offline
                                          M Offline
                                          Munchies_Matt
                                          wrote on last edited by
                                          #20

                                          GeorgeMayfield wrote:

                                          I have Ethernet and hope that will work

                                          No, you cant use it. Has to be firewire or com port. You cant work locally either, because when you break the kernel, the whole machine locks. :) It is easy once you first do it, load symbols, load your code, step through it, see it working, and its a very powerful debugger too, windbg, very powerful. Once you get used to it you will use it for user mode debugging too and only use VS as a code editor. Seriously.

                                          "The whole idea that carbon dioxide is the main cause of the recent global warming is based on a guess that was proved false by empirical evidence during the 1990s." climate-models-go-cold

                                          G 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups