Another computer question...

Hmm.
Code:
C:\Windows\system32>devcon disable "@PCI\VEN_168C&DEV_002B&SUBSYS_3040103C&REV_01\4&67B1FC7&0&00E0"
PCI\VEN_168C&DEV_002B&SUBSYS_3040103C&REV_01\4&67B1FC7&0&00E0: Disable failed
No matching devices found.

C:\Windows\system32>devcon disable "PCI\VEN_168C&DEV_002B&SUBSYS_3040103C&REV_01\4&67B1FC7&0&00E0"
No matching devices found.
 
Could it be that I have extracted a 32-bit version of devcon and I need a 64-bit version? Does it matter where I locate the .exe?

I tried another one (Build: 6.3.9600.16384), no change. I take it "amd64" only applies to AMD 64-bit devices (my notebook is Pentium)?
 
Last edited:
Hmm.
Code:
C:\Windows\system32>devcon disable "@PCI\VEN_168C&DEV_002B&SUBSYS_3040103C&REV_01\4&67B1FC7&0&00E0"
PCI\VEN_168C&DEV_002B&SUBSYS_3040103C&REV_01\4&67B1FC7&0&00E0: Disable failed
No matching devices found.

C:\Windows\system32>devcon disable "PCI\VEN_168C&DEV_002B&SUBSYS_3040103C&REV_01\4&67B1FC7&0&00E0"
No matching devices found.
I don't know. I'm not sat in front of your computer. All I can say is that this works for me:
Code:
>devcon find *|find "PRO/"
PCI\VEN_8086&DEV_100E&SUBSYS_001E8086&REV_02\3&267A616A&0&18: Intel(R) PRO/1000 MT Desktop Adapter

>devcon find "@PCI\VEN_8086&DEV_100E&SUBSYS_001E8086&REV_02\3&267A616A&0&18"
PCI\VEN_8086&DEV_100E&SUBSYS_001E8086&REV_02\3&267A616A&0&18: Intel(R) PRO/1000 MT Desktop Adapter
1 matching device(s) found.
Try loosening the search (with find, not disable) and/or use * on the beginning and end till you match something.
Could it be that I have extracted a 32-bit version of devcon and I need a 64-bit version? Does it matter where I locate the .exe?
Probably not and no, respectively. I only tried the 64 bit version though.
I take it "amd64" only applies to AMD 64-bit devices (my notebook is Pentium)?
No, ignore the AMD bit. It applies to Intel as well. It's just naming stupidity. x86 is 32 bit, AMD64 is 64 bit, regardless of who makes the CPU.
 
Try loosening the search (with find, not disable) and/or use * on the beginning and end till you match something.
The ID string is exactly what find found.

No, ignore the AMD bit. It applies to Intel as well. It's just naming stupidity. x86 is 32 bit, AMD64 is 64 bit, regardless of who makes the CPU.
That will be the difference! Stupid, innit?
 
Brilliant. That worked, many thanks for the clarifications. I've called it devcon64.exe, to be explicit.

In case anybody needs a summary:

How to add command line control over stuff normally done through Device Manager in Windows
  1. Download the relevant .cab file from https://superuser.com/questions/1002950/quick-method-to-install-devcon-exe. I'm using 64-bit Win7, which requires the "amd64" version (apparently) rather than the "x86" version, regardless that I have an Intel processor (if using 32-bit Windows, you need the "x86" version). The "Windows 10 version 1809" revision worked for me, despite me running Win7.

  2. Drill into the .cab file (it's like a zip) and extract the file listed on the web page - in the case of Win10 v1809 for amd64, that's file filbad6e2cce5ebc45a401e19c613d0a28f from 787bee96dbd26371076b37b13c405890.cab, and rename it devcon.exe (or whatever you like).

  3. I then put it into C:\Windows\system32 (requires admin access to do this), where it is on the default command search path, but you could put it anywhere if you use an explicit path when calling.

  4. From the Start menu, search "cmd" and right-click the search result "cmd.exe", select "Run as Administrator". This produces a command console running at Admin privilege. The command "devcon help" provides a command list, and "devcon help <command>" provides more details.
 
Great. I now have a desktop shortcut set to "run as administrator" which runs a .bat containing devcon restart <device ID for WiFi>. Instead of the 12 steps listed in post 44, all I now have to do is:
  1. Double-click the "WiFi Restart" desktop icon;
  2. Enter admin password on request.
Many thanks to @prpr for the help.
 
Bit late to the party on this one but, for what it's worth ...
When my work laptop (Dell Latitude) was a W7/64 machine (now W10) it also used to pull the 'limited access' trick when it had been asleep.
After much puzzling/headscratching one of my colleagues said 'just ignore it and do a search'. Lo and behold the search worked and the wifi
icon then sorted out its status properly. Seems like it just needed provoked into action - worked everytime thereafter! YMMV.
 
Interesting, I'll try it, but I'm pretty sure I only noticed the problem in the first place because Internet stuff wasn't working!
 
I can't remember ever having that problem either. But SSDs are so fast now, I always shut win10 down and restart it.
 
Bully for you. I really ought to concentrate on my migration to ZEN/Linux, but the notebook works well in my desktop environment with the 24" monitor etc, and convenience in getting the job done tends to trump time spent preparing the future!
 
Anybody know a straightforward way to print out a hex dump in Windows? Notepad++ (+ extension) lets me view a file in hex, but won't print the hex dump.
 
I'm trying to unpick the chain of operations which result in output from the printer, specifically to understand colour management.

My creation tool of choice is CorelDraw. It offers ample colour control, with the ability to specify colours in RGB, CMYK, HSL, etc etc. An output document file can be RGB or CMYK (I'm not sure about others), or separations. However, sending output to a printer (in my case a SOHO Epson colour inkjet) is another matter entirely.

From an examination of the Epson programming manual, and a cursory glance at the data sent to the printer, there is nothing more sophisticated at that end than instructions to print a micro-fine raster of dots in CMYK, purely binary (either a dot in a particular ink or combination of inks, or no dot - nothing in between). Ignoring K (see footnote), that's just 8 possible combinations (colours), so all the subtlety must result from combining the effect of groups of dots.

So, what does the blending? Is this a function of the driver, or of CorelDraw? It makes sense for it to be the driver, but that raises the question what data CorelDraw is sending to the driver.

Does anybody know how that part works, or tell me how to intercept it, or find information about it?


Footnote: RGB, CMYK, etc

RGB (red, green, blue) are the additive primaries as used by TV displays etc. Ink on a page is subtractive - the light reflected has colours absorbed (subtracted) from it by the ink, and the primaries used in process printing are CMY (cyan, magenta, yellow). When there is no ink on the page you get white, while C M and Y together (theoretically) absorb the whole spectrum and should therefore appear black.

This isn't perfect though, and as quite a lot of printing is black (which would use up a lot of C M and Y ink), a fourth ink K ("key", or black) is added to the mix. Colours which would need a mix of C M and Y together, instead eliminate whichever is the weakest of C M or Y and replace that with K, including a corresponding reduction in the remaining two inks.

When specifying a colour by CMYK, the four values are in the range 0-100 (representing an integer percentage). As discussed, only a maximum of three of those four channels isn't zero, so the maximum number of colours representable in the CMYK palette is 101x101x101 = 1,030,301 (minus a few because if K = 100 the other channels are irrelevant... does that make it 1,020,100? - not sure).

That's a factor of 16 fewer than the number of possible colours in 8-bit RGB: 256x256x256 = 16,777,216

My ultimate aim is to produce a colour chart of every distinct colour the printer is capable of producing, and I could "just" create a series of test pages in CorelDraw with a square of every colour code in the CMYK (or RGB) gamut, but
  • It's prohibitive to do that manually, I'm looking for a way to specify colour by script;

  • There's every chance the printer can't reproduce the full spectrum, and a chance the output process doesn't even send the whole spectrum;

  • Even if I had 16x32 (512) colour patches on a page, the CMYK gamut would require 2040 pages to print!
It makes sense to restrict the gamut to (say) 4096, and knowledge of the limitations inherent in the output process will help define what those 4096 colours should be.
 
Back
Top