Wednesday, July 12, 2006

Brother MFC-8440 Multifunction Windows Server 2003 Fax, Print, and Scanner Drivers

Brother International does not support their line of multifunction printers in Windows Server 2003. Well, they do support the print functions, but if you want to use the Fax or Scanner functions you are SOL. I would guess it has something to do with them offering a nice network fax and scanner driver as an optional but expensive accessory, but I digress. I wanted to share the Fax Machine off our Brother MFC-8440 printer with the rest of our IT Department, but being that it wouldn't work with 2k3, and XP doesn't allow you to share faxes.

So what I did was methodically combine the Windows XP Drivers with the Windows Server 2003 Drivers so that I was using the most up to date file versions, then edited the associated INF files so that it would install. After some tweaking and some wall to head interaction, it's working great and we can fax from any of the computers in our office using the wonderful Microsoft Fax Services. The driver files are available here: http://www.alwaysnetwork.com/wss/brother-mfc-8440.zip.

While editing the drivers, I think I have made the correct changes so that it will work with Vista, but I am unable to check as I don't have any Vista boxes laying around. Also be aware that these drivers, while tested on my systems here, come with no guarantee that they won't hose up your system and come with no warranty what so ever.


-Charles

9 comments:

Anonymous said...

Thanks, I've been looking for something like this for awhile, I'll give it a try.
Keith

Manuel said...

The link to get the zip file seems to be broken.

Anonymous said...

I am really after the same solution here but i cant access any files to download. could you repost a location for the .zip file or leave me a brief description as to what to change in what files.

Thanks
Peter

West said...

Well, I've done it, too, with an MFC240C machine. I'll put all the info here, so we will not have to deal with unpaid domain registration bills, heh heh.

Since I deleted all the extraneous info from the .inf file for other models, you will have to reconstruct the info for your particular model using the 240C data i am posting here as a guideline. I have done enough work on this, I am not going to reconstruct the work for every model out there. It took me about 8 hours of solid work and trial and error to get it working. Nothing on the web or elsewhere helped at all. Forget about the windows image service and/or terminal services, they have nothing to do with this. I am also fairly confident this will only work for a local user, not TS users, so if that's what you want, your best bet woud be to buy a higher end MFC with the appropriate drivers. Christ, I hate windows, and windows 2003 server even more.


Tips for installation.

First, copy the entire CD to a hard disk drive so you can edit it (only one file will have to be modified).
I stuck the whole thing into a directory called \Brotherdisc, and will use that name in these instructions.

Next, modify the brimbh71.inf file in \Brotherdisc\driver\win2kxp\usa. I suggest you make a copy and/or print out the original file for reference.

Note that the .cat file reference is commented out - necessary because the .inf file was modified. The .at file is just an integrity check for the .inf file, so nothing is lost. All of the instructions mentioned here that are model specific - that means have the string "MFC240C" in them - will have to have your model string substituted.

I also deleted most of the other model references out for easier manipulation. No need to do that, either.


1. Comment out (add a ;) the .cat file reference.

2. Change %Manufact% from whatever it said originally to to MFC_SCN

3. Change the heading on the next section to [MFC_SCN]

4. In the [MFC_SCN] section change the %BRMFC240C.USB.SCN% to remove the .W2K - should be obvious, since I did not change any of the other entries in that section.

5. In the USB 2K section, remove all .NT and .2K strings, for example, the first line changes from [BRDCP128C.USB.SCN.W2K.NT] to [BRMFC240C.USB.SCN] Again modify the sections for your model number rather than the MFC240C (unless, of course, you have a 240C)


You may note that I have all the USB XP lines commented out - that is not really necessary, It was an experiment to isolate issues that I never backed off.

All the stuff from "Add reg USB" to the end of the file does not have to be modified.

Save the file.

Below is my .inf file as modded.



************
;=======================================================================
; Brother MFC Setup File
; Copyright (c) 2006 Brother Industries,LTD.
; FileName : brimbh71.inf
; Function : Scanner(Image)
; I/F : USB
; OS ; Windows2000/XP
; Model : DCP-128C DCP-129C DCP-130C DCP-131C
; DCP-329C DCP-330C DCP-331C
; MFC-239C MFC-240C
; DCP-540CN
;=======================================================================
[Version]
Signature="$Windows NT$"
Class=Image
ClassGUID={6bdd1fc6-810f-11d0-bec7-08002be2092f}
Provider=%Provider%
DriverPackageType=PlugAndPlay
DriverPackageDisplayName=%DriverPackageDisplayName%
DriverVer=02/24/2006,01.00.00.00
;CatalogFile=brimbh71.cat

[Manufacturer]
%Manufact%=MFC_SCN

[MFC_SCN]
%BRDCP128C.USB.SCN% = BRDCP128C.USB.SCN.W2K, USB\VID_04F9&PID_01C0&MI_01
%BRDCP129C.USB.SCN% = BRDCP129C.USB.SCN.W2K, USB\VID_04F9&PID_01C1&MI_01
%BRDCP130C.USB.SCN% = BRDCP130C.USB.SCN.W2K, USB\VID_04F9&PID_01A8&MI_01
%BRDCP131C.USB.SCN% = BRDCP131C.USB.SCN.W2K, USB\VID_04F9&PID_01C2&MI_01
%BRDCP329C.USB.SCN% = BRDCP329C.USB.SCN.W2K, USB\VID_04F9&PID_01C3&MI_01
%BRDCP330C.USB.SCN% = BRDCP330C.USB.SCN.W2K, USB\VID_04F9&PID_01A9&MI_01
%BRDCP331C.USB.SCN% = BRDCP331C.USB.SCN.W2K, USB\VID_04F9&PID_01C4&MI_01
%BRMFC239C.USB.SCN% = BRMFC239C.USB.SCN.W2K, USB\VID_04F9&PID_01C5&MI_01
%BRMFC240C.USB.SCN% = BRMFC240C.USB.SCN, USB\VID_04F9&PID_01AB&MI_01
%BRDCP540CN.USB.SCN% = BRDCP540CN.USB.SCN.W2K, USB\VID_04F9&PID_01AA&MI_01

[BrotherMFC.NTx86.5.1]
%BRDCP128C.USB.SCN% = BRDCP128C.USB.SCN, USB\VID_04F9&PID_01C0&MI_01
%BRDCP129C.USB.SCN% = BRDCP129C.USB.SCN, USB\VID_04F9&PID_01C1&MI_01
%BRDCP130C.USB.SCN% = BRDCP130C.USB.SCN, USB\VID_04F9&PID_01A8&MI_01
%BRDCP131C.USB.SCN% = BRDCP131C.USB.SCN, USB\VID_04F9&PID_01C2&MI_01
%BRDCP329C.USB.SCN% = BRDCP329C.USB.SCN, USB\VID_04F9&PID_01C3&MI_01
%BRDCP330C.USB.SCN% = BRDCP330C.USB.SCN, USB\VID_04F9&PID_01A9&MI_01
%BRDCP331C.USB.SCN% = BRDCP331C.USB.SCN, USB\VID_04F9&PID_01C4&MI_01
%BRMFC239C.USB.SCN% = BRMFC239C.USB.SCN, USB\VID_04F9&PID_01C5&MI_01
%BRMFC240C.USB.SCN% = BRMFC240C.USB.SCN, USB\VID_04F9&PID_01AB&MI_01
%BRDCP540CN.USB.SCN% = BRDCP540CN.USB.SCN, USB\VID_04F9&PID_01AA&MI_01

[BrotherMFC.NTx86.5.2]

[ControlFlags]
ExcludeFromSelect=*

;----------------------------------------
; USB 2K
;----------------------------------------

[BRMFC240C.USB.SCN]
SubClass = StillImage
DeviceType = 1
DeviceSubType = 0x1
Capabilities = 0x1
Events = BrEvents.W2K
DeviceData = BRMFC240C.USB.SCN.DeviceData
ICMProfiles = "sRGB Color Space Profile.icm"
CopyFiles = BrScnUsb.CopyFiles,BrStiMiniDrv.CopyFiles,BrTwdsFe.MFC240CU.CopyFiles,BrTwdsMain.CopyFiles,BrTwdsLang.CopyFiles
AddReg = BrSti06aUSB.AddReg,BrScnUsb.AddReg
UpdateInis = BRMFC240C.USB.BRTWAIN.UpdateInis

[BRMFC240C.USB.SCN.Services]
Addservice = BrScnUsb, 0x00000002, BrScnUsb.AddService

[BRMFC240C.USB.SCN.DeviceData]
TwainDS=%BRMFC240C.USB.SCN%
Model=0-GENERAL
STIFILE=BrUsi06a.dll
ScannerType=2
DocHandling=3
MaxResoNo=8
MaxResoCatalog=12
OpticalResoX=600
OpticalResoY=2400
;BedDocHeight=
;BedScnSpecHeight=
BedDocWidth=8268
FeederDocWidth=8268
EventImage=1
EventOcr=1
EventEmail=1
EventFile2=1
SetupInit=1
EnCmpJ=1
CmpRate=2
Command-S=1
Command-D=1
Command-K=0
SkeyHandling=1
DuplexScn=0



;----------------------------------------
; USB XP
;----------------------------------------

;[BRMFC240C.USB.SCN.NT]
;Include=brmfcwia.inf
;SubClass=StillImage
;DeviceType=1
;DeviceSubType=0x1
;Capabilities=0x39
;PortSelect=NO
;Events = BrEvents
;DelFiles=BRTWAIN32DS.RemoveFiles ,BRTWAIN16DS.RemoveFiles, BRP20TWAIN16DS.RemoveFiles, BRP20TWAIN32DS.RemoveFiles, BRP25TWAIN32DS.RemoveFiles
;DeviceData=BRMFC240C.USB.SCN.DeviceData
;AddReg=BrUSBWia06a.AddReg
;CopyFiles=BrUSBWia06a.CopyFiles,BrScnUsb.CopyFiles,BrTwdsFe.MFC240CTWU.CopyFiles,BrTwdsMain.CopyFiles,BrTwdsLang.CopyFiles
;ICMProfiles="sRGB Color Space Profile.icm"
;CopyINF = brprbh71.inf

;[BRMFC240C.USB.SCN.NT.Services]
;AddService = BrScnUsb, 0x00000002, BrScnUsb.AddService

;[BRMFC240C.USB.SCN.DeviceData]
;Server=local
;UI Class ID={4DB1AD10-3391-11D2-9A33-00C04FA36145}
;TwainDS=%TWAINDS.Prefix%%BRMFC240C.USB.SCN%
;Model=0-GENERAL
;STIFILE=BrUsi06a.dll
;ScannerType=2
;DocHandling=3
;MaxResoNo=8
;MaxResoCatalog=12
;OpticalResoX=600
;OpticalResoY=2400
;BedDocHeight=
;BedScnSpecHeight=
;BedDocWidth=8268
;FeederDocWidth=8268
;EventImage=1
;EventOcr=1
;EventEmail=1
;EventFile2=1
;SetupInit=1
;EnCmpJ=1
;CmpRate=2
;Command-S=1
;Command-D=1
;Command-K=0
;SkeyHandling=1
;DuplexScn=0


;----------------------------------------
; Add reg USB
;
[BrUSBWia06a.AddReg]
HKR,,HardwareConfig,1,4
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,BrScnUsb.sys

HKR,,USDClass,,"{49EB98D0-2AE4-462b-BAA3-D6F1EEF919F4}"
HKR,DeviceData,OpenTimeout,0x10001,360000
HKCR,CLSID\{49EB98D0-2AE4-462b-BAA3-D6F1EEF919F4} ,,,%BrWiaUsd%
HKCR,CLSID\{49EB98D0-2AE4-462b-BAA3-D6F1EEF919F4}\InProcServer32,,,%11%\BrWia06a.dll
HKCR,CLSID\{49EB98D0-2AE4-462b-BAA3-D6F1EEF919F4}\InProcServer32,ThreadingModel,,"Both"

[BrScnUsb.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,BrScnUsb.sys

[BrSti06aUSB.AddReg]
HKR,,HardwareConfig,1,1
HKR,,USDClass,,"{F10E0DAF-3EF7-4b39-9945-24BF98957F8A}"
HKCR,CLSID\{F10E0DAF-3EF7-4b39-9945-24BF98957F8A} ,,,%BrStiUsd%
HKCR,CLSID\{F10E0DAF-3EF7-4b39-9945-24BF98957F8A}\InProcServer32,,,%11%\BrSti06a.dll
HKCR,CLSID\{F10E0DAF-3EF7-4b39-9945-24BF98957F8A}\InProcServer32,ThreadingModel,,"Both"

;----------------------------------------
; Update Install
;
[BRDCP128C.USB.BRTWAIN.UpdateInis]
%10%\TWAIN_32\BrMfSc0a\DC128CU\DC128CU.INI, Driver, , "StiMode=1", 0
[BRDCP129C.USB.BRTWAIN.UpdateInis]
%10%\TWAIN_32\BrMfSc0a\DC129CU\DC129CU.INI, Driver, , "StiMode=1", 0
[BRDCP130C.USB.BRTWAIN.UpdateInis]
%10%\TWAIN_32\BrMfSc0a\DC130CU\DC130CU.INI, Driver, , "StiMode=1", 0
[BRDCP131C.USB.BRTWAIN.UpdateInis]
%10%\TWAIN_32\BrMfSc0a\DC131CU\DC131CU.INI, Driver, , "StiMode=1", 0
[BRDCP329C.USB.BRTWAIN.UpdateInis]
%10%\TWAIN_32\BrMfSc0a\DC329CU\DC329CU.INI, Driver, , "StiMode=1", 0
[BRDCP330C.USB.BRTWAIN.UpdateInis]
%10%\TWAIN_32\BrMfSc0a\DC330CU\DC330CU.INI, Driver, , "StiMode=1", 0
[BRDCP331C.USB.BRTWAIN.UpdateInis]
%10%\TWAIN_32\BrMfSc0a\DC331CU\DC331CU.INI, Driver, , "StiMode=1", 0
[BRMFC239C.USB.BRTWAIN.UpdateInis]
%10%\TWAIN_32\BrMfSc0a\MF239CU\MF239CU.INI, Driver, , "StiMode=1", 0
[BRMFC240C.USB.BRTWAIN.UpdateInis]
%10%\TWAIN_32\BrMfSc0a\MF240CU\MF240CU.INI, Driver, , "StiMode=1", 0
[BRDCP540CN.USB.BRTWAIN.UpdateInis]
%10%\TWAIN_32\BrMfSc0a\DC540CU\DC540CU.INI, Driver, , "StiMode=1", 0

;----------------------------------------
; Add Service
;
[BrScnUsb.AddService]
DisplayName = %BrScnUsb.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\BrScnUsb.sys
LoadOrderGroup = Base

;----------------------------------------
; Events
;
[BrEvents.W2K]
ScanToOcr="%ScanToOcr%",{9d095b89-37d6-4877-afed-62a297dc6dbe},ControlCenter3
ScanToSpApp="%ScanToSpApp%",{a6c5a715-8c6e-11d2-977a-0000f87a926f},ControlCenter3
ScanToEmail="%ScanToEmail%",{c686dcee-54f2-419e-9a27-2fc7f2e98f9e},ControlCenter3
ScanToFile="%ScanToFile%",{fc4767c1-c8b3-48a2-9cfa-2e90cb3d3590},ControlCenter3

[BrEvents]
ScanToOcr="%ScanToOcr%",{9d095b89-37d6-4877-afed-62a297dc6dbe},*
ScanToSpApp="%ScanToSpApp%",{a6c5a715-8c6e-11d2-977a-0000f87a926f},*
ScanToEmail="%ScanToEmail%",{c686dcee-54f2-419e-9a27-2fc7f2e98f9e},*
ScanToFile="%ScanToFile%",{fc4767c1-c8b3-48a2-9cfa-2e90cb3d3590},*

;----------------------------------------
; Copy Files
;
[SourceDisksNames.x86]
1 = %BrDrvDisk1%

[BrScnUsb.CopyFiles]
BrScnUsb.sys

[BrStiMiniDrv.CopyFiles]
BrSti06a.dll
BrUsi06a.dll

[BrUSBWia06a.CopyFiles]
BrWia06a.dll
BrUsi06a.dll

[BrTwdsFe.DCP128CU.CopyFiles]
BrTwdFe.ds
DC128CU.INI
[BrTwdsFe.DCP128CTWU.CopyFiles]
BrTwdFe.ds
TWDC128CU.INI

[BrTwdsFe.DCP129CU.CopyFiles]
BrTwdFe.ds
DC129CU.INI
[BrTwdsFe.DCP129CTWU.CopyFiles]
BrTwdFe.ds
TWDC129CU.INI

[BrTwdsFe.DCP130CU.CopyFiles]
BrTwdFe.ds
DC130CU.INI
[BrTwdsFe.DCP130CTWU.CopyFiles]
BrTwdFe.ds
TWDC130CU.INI

[BrTwdsFe.DCP131CU.CopyFiles]
BrTwdFe.ds
DC131CU.INI
[BrTwdsFe.DCP131CTWU.CopyFiles]
BrTwdFe.ds
TWDC131CU.INI

[BrTwdsFe.DCP329CU.CopyFiles]
BrTwdFe.ds
DC329CU.INI
[BrTwdsFe.DCP329CTWU.CopyFiles]
BrTwdFe.ds
TWDC329CU.INI

[BrTwdsFe.DCP330CU.CopyFiles]
BrTwdFe.ds
DC330CU.INI
[BrTwdsFe.DCP330CTWU.CopyFiles]
BrTwdFe.ds
TWDC330CU.INI

[BrTwdsFe.DCP331CU.CopyFiles]
BrTwdFe.ds
DC331CU.INI
[BrTwdsFe.DCP331CTWU.CopyFiles]
BrTwdFe.ds
TWDC331CU.INI

[BrTwdsFe.MFC239CU.CopyFiles]
BrTwdFe.ds
MF239CU.INI
[BrTwdsFe.MFC239CTWU.CopyFiles]
BrTwdFe.ds
TWMF239CU.INI

[BrTwdsFe.MFC240CU.CopyFiles]
BrTwdFe.ds
MF240CU.INI
[BrTwdsFe.MFC240CTWU.CopyFiles]
BrTwdFe.ds
TWMF240CU.INI

[BrTwdsFe.DCP540CNU.CopyFiles]
BrTwdFe.ds
DC540CU.INI
[BrTwdsFe.DCP540CNTWU.CopyFiles]
BrTwdFe.ds
TWDC540CU.INI

[BrTwdsMain.CopyFiles]
BrTwds.dll
BrTwdsUi.dll
BrTwdScn.dll
BrScnDev.dll
BrStiIf.dll

[BrTwdsLang.CopyFiles]
BrTwdLng.dll
BrS05Lng.hlp

[DestinationDirs]
DefaultDestDir = 11
BrScnUsb.CopyFiles = 12
BrTwdsMain.CopyFiles = 10,TWAIN_32\BrMfSc0a\Common
BrTwdsLang.CopyFiles = 10,TWAIN_32\BrMfSc0a\Lang
BrTwdsFe.DCP128CU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC128CU
BrTwdsFe.DCP128CTWU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC128CU
BrTwdsFe.DCP129CU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC129CU
BrTwdsFe.DCP129CTWU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC129CU
BrTwdsFe.DCP130CU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC130CU
BrTwdsFe.DCP130CTWU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC130CU
BrTwdsFe.DCP131CU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC131CU
BrTwdsFe.DCP131CTWU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC131CU
BrTwdsFe.DCP329CU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC329CU
BrTwdsFe.DCP329CTWU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC329CU
BrTwdsFe.DCP330CU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC330CU
BrTwdsFe.DCP330CTWU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC330CU
BrTwdsFe.DCP331CU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC331CU
BrTwdsFe.DCP331CTWU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC331CU
BrTwdsFe.MFC239CU.CopyFiles = 10,TWAIN_32\BrMfSc0a\MF239CU
BrTwdsFe.MFC239CTWU.CopyFiles = 10,TWAIN_32\BrMfSc0a\MF239CU
BrTwdsFe.MFC240CU.CopyFiles = 10,TWAIN_32\BrMfSc0a\MF240CU
BrTwdsFe.MFC240CTWU.CopyFiles = 10,TWAIN_32\BrMfSc0a\MF240CU
BrTwdsFe.DCP540CNU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC540CU
BrTwdsFe.DCP540CNTWU.CopyFiles = 10,TWAIN_32\BrMfSc0a\DC540CU

[SourceDisksFiles]
;; System
BrScnUsb.sys=1,,

;; WIA
BrWia06a.dll=1,,

;; Sti
BrUsi06a.dll=1,,
BrSti06a.dll=1,,

;; Twain
BrTwdFe.ds=1,,
BrTwds.dll=1,,
BrTwdsUi.dll=1,,
BrTwdScn.dll=1,,
BrScnDev.dll=1,,
BrStiIf.dll=1,,

DC128CU.INI=1,,
TWDC128CU.INI=1,,
DC129CU.INI=1,,
TWDC129CU.INI=1,,
DC130CU.INI=1,,
TWDC130CU.INI=1,,
DC131CU.INI=1,,
TWDC131CU.INI=1,,
DC329CU.INI=1,,
TWDC329CU.INI=1,,
DC330CU.INI=1,,
TWDC330CU.INI=1,,
DC331CU.INI=1,,
TWDC331CU.INI=1,,
MF239CU.INI=1,,
TWMF239CU.INI=1,,
MF240CU.INI=1,,
TWMF240CU.INI=1,,
DC540CU.INI=1,,
TWDC540CU.INI=1,,

BrTwdLng.dll=1,,
BrS05Lng.hlp=1,,

[Strings]
Provider="Brother"
Manufact="Brother"
DriverPackageDisplayName="DCP-128C,DCP-129C,DCP-130C,DCP-131C,DCP-329C,DCP-330C,DCP-331C,MFC-239C,MFC-240C,DCP-540CN"

BrDrvDisk1="Brother MFC Driver Disk"
BrStiUsd="Brother Sti Scanner minidriver"
BrWiaUsd="Brother Wia Scanner minidriver"
BrScnUsb.SvcDesc="Brother USB Still Image driver"

;; Events
ScanToOcr="Scan To OCR - Button Press"
ScanToSpApp="Scan To Image - Button Press"
ScanToEmail="Scan To E-mail - Button Press"
ScanToFile="Scan To File - Button Press"

;; Name
TWAINDS.Prefix = "WIA-"
BRDCP128C.USB.SCN ="Brother DCP-128C USB"
BRDCP129C.USB.SCN ="Brother DCP-129C USB"
BRDCP130C.USB.SCN ="Brother DCP-130C USB"
BRDCP131C.USB.SCN ="Brother DCP-131C USB"
BRDCP329C.USB.SCN ="Brother DCP-329C USB"
BRDCP330C.USB.SCN ="Brother DCP-330C USB"
BRDCP331C.USB.SCN ="Brother DCP-331C USB"
BRMFC239C.USB.SCN ="Brother MFC-239C USB"
BRMFC240C.USB.SCN ="Brother MFC-240C USB"
BRDCP540CN.USB.SCN ="Brother DCP-540CN USB"


*************

NOW, on to installation.

First, you will have to scrub the registry of any and all references from previous installations. I found the deinstallation application did not work worth beans, so I just searched HKLM for the string "Brother" (using regedt32) and deleted the entries associated with it. Be careful with this! If you are not an experienced registry hack you could get yourself into real trouble doing this. Try not to delete any high level (right off the root) keys, stick with sub-entries. If you can get the InstallShield de-installation tool to work , use that instead.

The driver package setup (\Brotherdisk\mfl_pro\Data\Disk2\setup) HAS to be set to run in windows compatability mode for windows 2000. the other two setup's involved (\Brotherdisk\MFLpro\Setup240C\Usa\setup.exe and \Brotherdisk\MFLpro\Data\Disk1\setup.exe) did not. The giveaway for this is when you run the \Brotherdisk\MFLpro\Setup240C\Usa\setup.exe, you will get a dialogue box saying that the package has no drivers for your OS. Go back and check the compatability mode. NOW - here's another gotcha. On the CD, Disk 1 was the MFLPro app and Disk 2 the driver setup that needs compatability mode set. IF YOU DOWNLOADED THE DRIVER AND MFLPRO APP FROM THE BROTHER SITE, then disk 1 is the driver setup and disk 2 is MFLpro! The way to distinguish them is that the MFLpro data dir is about 170 meg of files and the driver setup is only about 23 Meg. Set compatability mode for the setup.exe in the SMALLER directory.


You cannot install directly from the macromedia flash splash screen that comes up from autorun OR the \brotherdisk\setup.exe.

If you want to install the Paperport SE application that comes on the disk, do that separately by running the setup in the \ppport9\usa\Se\English directory standalone.

To install the drivers and mflpro application launcher, start setup.exe from the \Brotherdisk\mflpro\*setup240C*\Usa folder (where *setup240C* matches your model, I presume). This will be AFTER you set the compatability mode for the setup.exe in mfl_pro\Disk2. Note: if you see corrupted characters on the blue splash screen for the MFLPro setup, STOP the installation, it will fail anyway. This was caused by running from the macromedia flash screen brought up by running \setup.exe insteed of \mflpro\setup*your_model_here*\Usa\setup.exe. I suspect that this had something to do with DEP, but never solved it - excluding the executables from DEP did not work. The workaround is just to avoid the \setup.exe completely.

Once the drivers and MFLpro are installed (may be a reboot in there somewhere) , you will be prompted to plug in your printer. The add hardware wizard will come up.

For each driver installation, Do NOT allow connection to windows Update, choose "No, not this time".

Then, when prompted for the installation disk, choose, "Install from a specific location".

Then in the "Please choose your Search and Installation options" dialog, choose ONLY "Include this location in the search", and browse to the \Brotherdisk\Driver\win2kxp\Usa directory.

If after doing so , windows says that it can't find a driver there, you missed something. Go back and check.

If it does find the 'driver' (really your modified .INF file), make SURE that it is pointing to your modified file. For some reason, my machine kept insisting on finding and using the .inf in the \Brotherdisk\Driver\win9x\Usa directory, which would install the 98 drivers, which of course did not work.

Note that when the printer is installed, it will use the brprbh71.inf file in the same directory - that is OK. Only the scanner will use the brimbh.inf file.

Once I finally got all this to go forward smoothly (and having to scrub the registry by hand between every attempt), I have full print, scan, fax and mempry card reader functionality, just like I would have if I had just had a regular copy of win2k, XP or (shudder), Vista.

Was it worth it for a printer I got for $60? Hell, no, but I did get the satisfaction of blowing the smoke off my barrel and riding off into the sunset. On that subject, the MFC240C does seem to be a nice piece of work for the price, prints fast & reasonably clear, meets all my needs. I haven't tried any photo quality printing yet, but for $60, I will have no cause to complain if it is less than stellar quality. The reason I bought the jobbie was new ink for my old HP deskjet was $62, and the new printer was $65, after rebate, and I like the separate ink cartridges, ought to be easier to refill, the HP was a pain that way. I would always get one refill out of a cartridge, but after a second, the colors would always blend together and all my prnts would turn green.

Oh, yeah, PS, I got around the crippling of windows server 2003 for printer sharing using a nice little utility called RAWprintServer. It will share the print queue as a UNIX RAW server on port 9100, which can then be used by other machines after installing print services for unix on them (a windows feature not installed by default), and of course, the printer driver - which works without a hack. I wouldn't recommend this for enterprise use, but it serves me fine here at home on my 4 machine network.

Best of luck, folks, and just as I side note, I need a job, and live in central Connecticut. Any help would be appreciated.


West

west@squarewavecn.com

Florian said...

Hi, the link is broken. I've got the same problem. Can you please send me a link to the files ? Thanks a lot! Florian

Ira Salomon said...

Can I get this zip file?
The link does not work
Thanks,
Ira

Anonymous said...

Hey guys...

In order to be able to install the scanner in 2k3, you first need to download the XP driver package here.

In each of the .inf files, you'll see sections labelled '[BrotherMFC.NTx86.5.1]'. You want to copy the label and the info underneath it, and change '[BrotherMFC.NTx86.5.1]' to '[BrotherMFC.NTx86.5.2]' so that it should look something like this..

[BrotherMFC.NTx86.5.1]
"Brother MFC-8440" = BRMFC8440.LPT.SCN, MF\BRMFC8440.LPT.MFC#2
"Brother MFC-8440 USB" = BRMFC8440.USB.SCN, USB\VID_04F9&PID_015F&MI_01
"Brother MFC-8840D" = BRMFC8840.LPT.SCN, MF\BRMFC8840.LPT.MFC#2
"Brother MFC-8840D USB" = BRMFC8840.USB.SCN, USB\VID_04F9&PID_0160&MI_01


[BrotherMFC.NTx86.5.2]
"Brother MFC-8440" = BRMFC8440.LPT.SCN, MF\BRMFC8440.LPT.MFC#2
"Brother MFC-8440 USB" = BRMFC8440.USB.SCN, USB\VID_04F9&PID_015F&MI_01
"Brother MFC-8840D" = BRMFC8840.LPT.SCN, MF\BRMFC8840.LPT.MFC#2
"Brother MFC-8840D USB" = BRMFC8840.USB.SCN, USB\VID_04F9&PID_0160&MI_01


You'll also need to add the NTx86.5.2 to the '%manufacturers%' variable

e.g. [Manufacturer]
%Manufact%=BrotherMFC,NTx86.5.1,NTx86.5.2

So make these changes so all of the .inf files. Next when you plug in the printer and the hardware installation windows pops up, choose the location of these files as the location to search for drivers.

If nothing pops up, go into control panel->System->Device Manager, and there should be some disabled installed USB devices. Simply update the drivers of those USB devices.

Anonymous said...

Hey guys...

In order to be able to install the scanner in 2k3, you first need to download the XP driver package here.

In each of the .inf files, you'll see sections labelled '[BrotherMFC.NTx86.5.1]'. You want to copy the label and the info underneath it, and change '[BrotherMFC.NTx86.5.1]' to '[BrotherMFC.NTx86.5.2]' so that it should look something like this..

[BrotherMFC.NTx86.5.1]
"Brother MFC-8440" = BRMFC8440.LPT.SCN, MF\BRMFC8440.LPT.MFC#2
"Brother MFC-8440 USB" = BRMFC8440.USB.SCN, USB\VID_04F9&PID_015F&MI_01
"Brother MFC-8840D" = BRMFC8840.LPT.SCN, MF\BRMFC8840.LPT.MFC#2
"Brother MFC-8840D USB" = BRMFC8840.USB.SCN, USB\VID_04F9&PID_0160&MI_01


[BrotherMFC.NTx86.5.2]
"Brother MFC-8440" = BRMFC8440.LPT.SCN, MF\BRMFC8440.LPT.MFC#2
"Brother MFC-8440 USB" = BRMFC8440.USB.SCN, USB\VID_04F9&PID_015F&MI_01
"Brother MFC-8840D" = BRMFC8840.LPT.SCN, MF\BRMFC8840.LPT.MFC#2
"Brother MFC-8840D USB" = BRMFC8840.USB.SCN, USB\VID_04F9&PID_0160&MI_01


You'll also need to add the NTx86.5.2 to the '%manufacturers%' variable

e.g. [Manufacturer]
%Manufact%=BrotherMFC,NTx86.5.1,NTx86.5.2

So make these changes so all of the .inf files. Next when you plug in the printer and the hardware installation windows pops up, choose the location of these files as the location to search for drivers.

If nothing pops up, go into control panel->System->Device Manager, and there should be some disabled installed USB devices. Simply update the drivers of those USB devices.

Anonymous said...

This thread actually helped me install my newly acquired MFC-J4510DW on Windows server 2008 R2 so thanks. Some additional steps had to be taken and I did not find this while searching the web. I have posted this a couple of other places as well, but will also post it here in case it might help someone else to see this thread as a whole to get their crippleware printer working. I assume the .inf-hacking can also be yweaked to allow install om server 2012, 2012 R2 and any other non-supported windows server as long as the identification of the OS is included in the modifications of the .inf file. My reply also posted elsewhere below:
-----------------------------
You have to edit some files in order for this to work. First you will need to edit the .inf file for the scanner and include windows server 2008 as a possible target. I did this for MFC-J4510DW on windows server 2008 R2, but I assume similar steps have to be taken for your machine and OS. You will of course need to copy the driver CD to disk first so you can edit files. I edited:
C:\BrotherCD\install\driver\gdi\32_64\brimi12i.inf (might be called something different for your machine)
and changed:
[Manufacturer]
%Manufact%=MODEL,NTx86.5.1.1,NTamd64.5.2.1,NTx86.6.0.1,NTamd64.6.0.1,NTx86.5.1,NTamd64.5.2
to
[Manufacturer]
%Manufact%=MODEL,NTx86.5.1.1,NTamd64.5.2.1,NTx86.6.0.1,NTamd64.6.0.1,NTx86.6.1,NTamd64.6.1

Then you have to add the lines for your printer model by copy and paste from the entry for windows 7, I assume in your case NTx86.6.0.1 to the appropriate section of the .inf, I assume in your case NTx86.6.1. I used the sections called NTx86.5.1 and NTamd64.5.2 and used these by changing them to NTx86.6.1 and NTamd64.6.1. These will then point to the files for windows 7 and no more editing of the .inf is necessary.

After that you will have to edit the installManager.INI for your model and language. In my case this was:
C:\BrotherCD\installmanager\MFC-J4510DW\eng\installManager.INI
and change ServerOS=Disable to ServerOS=Enable

The last step I am not sure is necessary and might pertain to something else, but I did it nonetheless and haven't tried with and without. This was editing Brinst_Common.ini in:
C:\BrotherCD\install\MFC-J4510DW\Brinst_Common.ini where I changed:
EnableServer=0 to EnableServer=1

Now installing on server 2008 and server 2008 R2 should work like a charm. The included version of Paperport did not install and I used a copy of Paperport Pro 14 so I haven't done any hacks to get the included software to install. This means I had to choose custom install and install MFL-Pro Suite without paperport.

Sincerely
throdos