x230i终于装好了
机子配置如下:搞了三天啊,终于能用了。
买了个USB无线网卡还没到货。
facetime\imessage\icloud搞不定了
其实可以刷网卡白名单,替换成支持的无线网卡。那样子就更完美了 同230 i5的,改了fhd,刷了白名单,现在完美使用中。 sccz123 发表于 2018-1-31 20:14 https://www.pcbeta.com/static/image/common/back.gif
同230 i5的,改了fhd,刷了白名单,现在完美使用中。
哈哈,51的兄弟,我X1C 2017昨天也折腾好了,基本完美使用中…… sccz123 发表于 2018-1-31 20:14 https://www.pcbeta.com/static/image/common/back.gif
同230 i5的,改了fhd,刷了白名单,现在完美使用中。
白名单 怎么刷 zvshailong 发表于 2018-1-31 20:27 https://www.pcbeta.com/static/image/common/back.gif
白名单 怎么刷
看51nb吧,三两句也说不清楚啊,而且你得有编程器 可以分享下你的EFI吗? 无线网卡刷白名单很简单。在网上买个编程器就OK了 lcw1009 发表于 2018-2-6 23:35 https://www.pcbeta.com/static/image/common/back.gif
可以分享下你的EFI吗?
加我好友 1431277549 发你 声卡你用的是万能的么 感谢大神的分享让我这个小白毛塞顿开真是全世界首创第一人 我的磁盘一直无法抹去X23Oi不知道怎么回事,能否分享EFI ? 感谢楼主分享 俺刚给朋友做了个x230i hotpatch电池补丁,楼主发一下你的efi,看看是否有匹配编译成hotpatch,这样以后就更简单。 米达 发表于 2018-3-15 13:18 https://www.pcbeta.com/static/image/common/back.gif
俺刚给朋友做了个x230i hotpatch电池补丁,楼主发一下你的efi,看看是否有匹配编译成hotpatch,这样以后就更 ...
求你的x230ihotpatch的补丁 deuigad 发表于 2019-2-22 16:40 https://www.pcbeta.com/static/image/common/back.gif
求你的x230ihotpatch的补丁
以前制作的hotpatch x230i thinkpad的
deuigad 发表于 2019-2-22 16:40 https://www.pcbeta.com/static/image/common/back.gif
求你的x230ihotpatch的补丁
x230i hotpatch 电池补丁:
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20161210-64(RM)
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembling to non-symbolic legacy ASL operators
*
* Disassembly of iASLxaHSEM.aml, Sat Feb 23 12:08:13 2019
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00000D1C (3356)
* Revision 0x02
* Checksum 0x76
* OEM ID "hack"
* OEM Table ID "BATT"
* OEM Revision 0x00000000 (0)
* Compiler ID "INTL"
* Compiler Version 0x20160422 (538313762)
*/
DefinitionBlock ("", "SSDT", 2, "hack", "BATT", 0x00000000)
{
External (_SB_.PCI0.LPCB.EC__, DeviceObj) // (from opcode)
External (_SB_.PCI0.LPCB.EC__.AC__._PSR, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.LPCB.EC__.BAT1, DeviceObj) // (from opcode)
External (_SB_.PCI0.LPCB.EC__.BATM, MutexObj) // (from opcode)
External (_SB_.PCI0.LPCB.EC__.BSWA, IntObj) // (from opcode)
External (_SB_.PCI0.LPCB.EC__.BSWR, IntObj) // (from opcode)
External (_SB_.PCI0.LPCB.EC__.HIID, FieldUnitObj) // (from opcode)
External (_SB_.PCI0.LPCB.EC__.SBCM, FieldUnitObj) // (from opcode)
External (RMCF.MODE, IntObj) // (from opcode)
Method (B1B2, 2, NotSerialized)
{
ShiftLeft (Arg1, 0x08, Local0)
Or (Arg0, Local0, Local0)
Return (Local0)
}
Method (B1B4, 4, NotSerialized)
{
Store (Arg3, Local0)
Or (Arg2, ShiftLeft (Local0, 0x08), Local0)
Or (Arg1, ShiftLeft (Local0, 0x08), Local0)
Or (Arg0, ShiftLeft (Local0, 0x08), Local0)
Return (Local0)
}
Scope (\_SB.PCI0.LPCB.EC)
{
Method (RE1B, 1, NotSerialized)
{
OperationRegion (ERAM, EmbeddedControl, Arg0, One)
Field (ERAM, ByteAcc, NoLock, Preserve)
{
BYTE, 8
}
Return (BYTE)
}
Method (RECB, 2, Serialized)
{
ShiftRight (Arg1, 0x03, Arg1)
Name (TEMP, Buffer (Arg1) {})
Add (Arg0, Arg1, Arg1)
Store (Zero, Local0)
While (LLess (Arg0, Arg1))
{
Store (RE1B (Arg0), Index (TEMP, Local0))
Increment (Arg0)
Increment (Local0)
}
Return (TEMP)
}
Method (RBMN, 0, Serialized)
{
Return (RECB (0xA0, 0x80))
}
Method (RBDN, 0, Serialized)
{
Return (RECB (0xA0, 0x80))
}
OperationRegion (BRAM, EmbeddedControl, Zero, 0x0100)
Field (BRAM, ByteAcc, NoLock, Preserve)
{
Offset (0xA0),
BRCA, 8,
BRCB, 8,
BFC0, 8,
BFC1, 8,
Offset (0xA8),
BAC0, 8,
BAC1, 8,
BVO0, 8,
BVO1, 8
}
Field (BRAM, ByteAcc, NoLock, Preserve)
{
Offset (0xA0),
BBM0, 8,
BBM1, 8,
Offset (0xA4),
BC00, 8,
BC01, 8
}
Field (BRAM, ByteAcc, NoLock, Preserve)
{
Offset (0xA0),
BDC0, 8,
BDC1, 8,
BDV0, 8,
BDV1, 8,
Offset (0xAA),
BSN0, 8,
BSN1, 8
}
Field (BRAM, ByteAcc, NoLock, Preserve)
{
Offset (0xA0),
BCH0, 8,
BCH1, 8,
BCH2, 8,
BCH3, 8
}
Method (GBIF, 3, NotSerialized)
{
Acquire (\_SB.PCI0.LPCB.EC.BATM, 0xFFFF)
If (Arg2)
{
Or (Arg0, One, \_SB.PCI0.LPCB.EC.HIID)
If (LOr (LOr (LOr (LOr (LEqual (0x35, \RMCF.MODE), LEqual (0x45, \RMCF.MODE)), LEqual (0x55, \RMCF.MODE)), LEqual (0x65, \RMCF.MODE)), LEqual (0x75, \RMCF.MODE)))
{
Sleep (0x14)
}
If (LOr (LOr (LOr (LOr (LOr (LEqual (0x10, \RMCF.MODE), LEqual (0x35, \RMCF.MODE)), LEqual (0x45, \RMCF.MODE)), LEqual (0x55, \RMCF.MODE)), LEqual (0x65, \RMCF.MODE)), LEqual (0x75, \RMCF.MODE)))
{
Store (\_SB.PCI0.LPCB.EC.SBCM, Local7)
}
Else
{
Store (B1B2 (BBM0, BBM1), Local7)
ShiftRight (Local7, 0x0F, Local7)
}
XOr (Local7, One, Index (Arg1, Zero))
Store (Arg0, \_SB.PCI0.LPCB.EC.HIID)
If (LOr (LOr (LOr (LOr (LEqual (0x35, \RMCF.MODE), LEqual (0x45, \RMCF.MODE)), LEqual (0x55, \RMCF.MODE)), LEqual (0x65, \RMCF.MODE)), LEqual (0x75, \RMCF.MODE)))
{
Sleep (0x14)
}
If (Local7)
{
Multiply (B1B2 (BFC0, BFC1), 0x0A, Local1)
}
Else
{
Store (B1B2 (BFC0, BFC1), Local1)
}
Store (Local1, Index (Arg1, 0x02))
Or (Arg0, 0x02, \_SB.PCI0.LPCB.EC.HIID)
If (LOr (LOr (LOr (LOr (LEqual (0x35, \RMCF.MODE), LEqual (0x45, \RMCF.MODE)), LEqual (0x55, \RMCF.MODE)), LEqual (0x65, \RMCF.MODE)), LEqual (0x75, \RMCF.MODE)))
{
Sleep (0x14)
}
If (Local7)
{
Multiply (B1B2 (BDC0, BDC1), 0x0A, Local0)
}
Else
{
Store (B1B2 (BDC0, BDC1), Local0)
}
Store (Local0, Index (Arg1, One))
Divide (Local1, 0x14, Local2, Index (Arg1, 0x05))
If (Local7)
{
Store (0xC8, Index (Arg1, 0x06))
}
ElseIf (B1B2 (BDV0, BDV1))
{
Divide (0x00030D40, B1B2 (BDV0, BDV1), Local2, Index (Arg1, 0x06))
}
Else
{
Store (Zero, Index (Arg1, 0x06))
}
Store (B1B2 (BDV0, BDV1), Index (Arg1, 0x04))
Store (B1B2 (BSN0, BSN1), Local0)
Name (SERN, Buffer (0x06)
{
" "
})
Store (0x04, Local2)
While (Local0)
{
Divide (Local0, 0x0A, Local1, Local0)
Add (Local1, 0x30, Index (SERN, Local2))
Decrement (Local2)
}
Store (SERN, Index (Arg1, 0x0A))
Or (Arg0, 0x06, \_SB.PCI0.LPCB.EC.HIID)
If (LOr (LOr (LOr (LOr (LEqual (0x35, \RMCF.MODE), LEqual (0x45, \RMCF.MODE)), LEqual (0x55, \RMCF.MODE)), LEqual (0x65, \RMCF.MODE)), LEqual (0x75, \RMCF.MODE)))
{
Sleep (0x14)
}
Store (RBDN (), Index (Arg1, 0x09))
Or (Arg0, 0x04, \_SB.PCI0.LPCB.EC.HIID)
If (LOr (LOr (LOr (LOr (LEqual (0x35, \RMCF.MODE), LEqual (0x45, \RMCF.MODE)), LEqual (0x55, \RMCF.MODE)), LEqual (0x65, \RMCF.MODE)), LEqual (0x75, \RMCF.MODE)))
{
Sleep (0x14)
}
Name (BTYP, Buffer (0x05)
{
0x00, 0x00, 0x00, 0x00, 0x00
})
Store (B1B4 (BCH0, BCH1, BCH2, BCH3), BTYP)
Store (BTYP, Index (Arg1, 0x0B))
Or (Arg0, 0x05, \_SB.PCI0.LPCB.EC.HIID)
Store (RBMN (), Index (Arg1, 0x0C))
}
Else
{
Store (0xFFFFFFFF, Index (Arg1, One))
Store (Zero, Index (Arg1, 0x05))
Store (Zero, Index (Arg1, 0x06))
Store (0xFFFFFFFF, Index (Arg1, 0x02))
}
Release (\_SB.PCI0.LPCB.EC.BATM)
Return (Arg1)
}
Name (BXY0, Zero)
Name (BXY1, Zero)
Name (BXY2, Zero)
Name (BXY3, Zero)
Name (BXZ0, Zero)
Name (BXZ1, Zero)
Name (BXZ2, Zero)
Name (BXZ3, Zero)
Method (GBST, 4, NotSerialized)
{
Acquire (\_SB.PCI0.LPCB.EC.BATM, 0xFFFF)
If (And (Arg1, 0x20))
{
Store (0x02, Local0)
}
ElseIf (And (Arg1, 0x40))
{
Store (One, Local0)
}
Else
{
Store (Zero, Local0)
}
If (And (Arg1, 0x07)) {}
Else
{
Or (Local0, 0x04, Local0)
}
If (LEqual (And (Arg1, 0x07), 0x07))
{
Store (0x04, Local0)
Store (Zero, Local1)
Store (Zero, Local2)
Store (Zero, Local3)
}
Else
{
If (LOr (LOr (LOr (LOr (LEqual (0x35, \RMCF.MODE), LEqual (0x45, \RMCF.MODE)), LEqual (0x55, \RMCF.MODE)), LEqual (0x65, \RMCF.MODE)), LEqual (0x75, \RMCF.MODE)))
{
Sleep (0x32)
}
Store (Arg0, \_SB.PCI0.LPCB.EC.HIID)
If (LOr (LOr (LOr (LOr (LEqual (0x35, \RMCF.MODE), LEqual (0x45, \RMCF.MODE)), LEqual (0x55, \RMCF.MODE)), LEqual (0x65, \RMCF.MODE)), LEqual (0x75, \RMCF.MODE)))
{
Sleep (0x32)
Store (\_SB.PCI0.LPCB.EC.HIID, Local6)
If (LNotEqual (Arg0, Local6))
{
Release (\_SB.PCI0.LPCB.EC.BATM)
Return (Arg3)
}
}
Store (B1B2 (BVO0, BVO1), Local3)
If (Arg2)
{
Multiply (B1B2 (BRCA, BRCB), 0x0A, Local2)
}
Else
{
Store (B1B2 (BRCA, BRCB), Local2)
}
Store (B1B2 (BAC0, BAC1), Local1)
If (LGreaterEqual (Local1, 0x8000))
{
If (And (Local0, One))
{
Subtract (0x00010000, Local1, Local1)
}
Else
{
Store (Zero, Local1)
}
}
ElseIf (LNot (And (Local0, 0x02)))
{
Store (Zero, Local1)
}
If (Arg2)
{
Multiply (Local3, Local1, Local1)
Divide (Local1, 0x03E8, Local7, Local1)
}
}
If (LAnd (LGreaterEqual (\RMCF.MODE, 0x70), LLessEqual (\RMCF.MODE, 0x74)))
{
Store (ShiftLeft (One, ShiftRight (Arg0, 0x04)), Local5)
Or (\_SB.PCI0.LPCB.EC.BSWA, \_SB.PCI0.LPCB.EC.BSWR, \_SB.PCI0.LPCB.EC.BSWA)
If (LEqual (And (\_SB.PCI0.LPCB.EC.BSWA, Local5), Zero))
{
Store (Local0, Index (Arg3, Zero))
Store (Local1, Index (Arg3, One))
Store (Local2, Index (Arg3, 0x02))
Store (Local3, Index (Arg3, 0x03))
If (LEqual (Arg0, Zero))
{
Store (Local0, BXY0)
Store (Local1, BXY1)
Store (Local2, BXY2)
Store (Local3, BXY3)
}
Else
{
Store (Local0, BXZ0)
Store (Local1, BXZ1)
Store (Local2, BXZ2)
Store (Local3, BXZ3)
}
}
ElseIf (\_SB.PCI0.LPCB.EC.AC._PSR ())
{
If (LEqual (Arg0, Zero))
{
Store (BXY0, Index (Arg3, Zero))
Store (BXY1, Index (Arg3, One))
Store (BXY2, Index (Arg3, 0x02))
Store (BXY3, Index (Arg3, 0x03))
}
Else
{
Store (BXZ0, Index (Arg3, Zero))
Store (BXZ1, Index (Arg3, One))
Store (BXZ2, Index (Arg3, 0x02))
Store (BXZ3, Index (Arg3, 0x03))
}
}
Else
{
Store (Local0, Index (Arg3, Zero))
Store (Local1, Index (Arg3, One))
Store (Local2, Index (Arg3, 0x02))
Store (Local3, Index (Arg3, 0x03))
}
Release (\_SB.PCI0.LPCB.EC.BATM)
Return (Arg3)
}
Else
{
Store (Local0, Index (Arg3, Zero))
Store (Local1, Index (Arg3, One))
Store (Local2, Index (Arg3, 0x02))
Store (Local3, Index (Arg3, 0x03))
Release (\_SB.PCI0.LPCB.EC.BATM)
Return (Arg3)
}
}
Method (GBIX, 3, NotSerialized)
{
If (LAnd (LGreaterEqual (\RMCF.MODE, 0x70), LLessEqual (\RMCF.MODE, 0x74)))
{
Acquire (\_SB.PCI0.LPCB.EC.BATM, 0xFFFF)
If (Arg2)
{
Or (Arg0, One, \_SB.PCI0.LPCB.EC.HIID)
Store (B1B2 (BC00, BC01), Local7)
Store (Local7, Index (Arg1, 0x08))
Store (B1B2 (BBM0, BBM1), Local7)
ShiftRight (Local7, 0x0F, Local7)
XOr (Local7, One, Index (Arg1, One))
Store (Arg0, \_SB.PCI0.LPCB.EC.HIID)
If (Local7)
{
Multiply (B1B2 (BFC0, BFC1), 0x0A, Local1)
}
Else
{
Store (B1B2 (BFC0, BFC1), Local1)
}
Store (Local1, Index (Arg1, 0x03))
Or (Arg0, 0x02, \_SB.PCI0.LPCB.EC.HIID)
If (Local7)
{
Multiply (B1B2 (BDC0, BDC1), 0x0A, Local0)
}
Else
{
Store (B1B2 (BDC0, BDC1), Local0)
}
Store (Local0, Index (Arg1, 0x02))
Divide (Local1, 0x14, Local2, Index (Arg1, 0x06))
If (Local7)
{
Store (0xC8, Index (Arg1, 0x07))
}
ElseIf (B1B2 (BDV0, BDV1))
{
Divide (0x00030D40, B1B2 (BDV0, BDV1), Local2, Index (Arg1, 0x07))
}
Else
{
Store (Zero, Index (Arg1, 0x07))
}
Store (B1B2 (BDV0, BDV1), Index (Arg1, 0x05))
Store (B1B2 (BSN0, BSN1), Local0)
Name (SERN, Buffer (0x06)
{
" "
})
Store (0x04, Local2)
While (Local0)
{
Divide (Local0, 0x0A, Local1, Local0)
Add (Local1, 0x30, Index (SERN, Local2))
Decrement (Local2)
}
Store (SERN, Index (Arg1, 0x11))
Or (Arg0, 0x06, \_SB.PCI0.LPCB.EC.HIID)
Store (RBDN (), Index (Arg1, 0x10))
Or (Arg0, 0x04, \_SB.PCI0.LPCB.EC.HIID)
Name (BTYP, Buffer (0x05)
{
0x00, 0x00, 0x00, 0x00, 0x00
})
Store (B1B4 (BCH0, BCH1, BCH2, BCH3), BTYP)
Store (BTYP, Index (Arg1, 0x12))
Or (Arg0, 0x05, \_SB.PCI0.LPCB.EC.HIID)
Store (RBMN (), Index (Arg1, 0x13))
}
Else
{
Store (0xFFFFFFFF, Index (Arg1, 0x02))
Store (Zero, Index (Arg1, 0x06))
Store (Zero, Index (Arg1, 0x07))
Store (0xFFFFFFFF, Index (Arg1, 0x03))
}
Release (\_SB.PCI0.LPCB.EC.BATM)
Store (Arg1, Local0)
}
Else
{
Store (Zero, Local0)
}
Return (Local0)
}
}
Scope (\_SB.PCI0.LPCB.EC.BAT1)
{
Method (_STA, 0, NotSerialized)// _STA: Status
{
Return (Zero)
}
}
}
感谢楼主分享
页:
[1]