Skip to content
This repository has been archived by the owner on Apr 5, 2021. It is now read-only.

thinkpad x390 i5版本 ac9560 #5

Open
icedifferent opened this issue Jan 4, 2020 · 8 comments
Open

thinkpad x390 i5版本 ac9560 #5

icedifferent opened this issue Jan 4, 2020 · 8 comments

Comments

@icedifferent
Copy link

thinkpad x390 i5 8265U版本 ac9560
1.编译后的kext放到clover里面的other无效。
2.执行
sudo chown -R root:wheel AppleIntelWifiAdapterV2.kext/
sudo kextload -v AppleIntelWifiAdapterV2.kext/
之后,电脑卡死了,,,
尴尬

@zxystd
Copy link
Owner

zxystd commented Jan 4, 2020

thinkpad x390 i5 8265U版本 ac9560
1.编译后的kext放到clover里面的other无效。
2.执行
sudo chown -R root:wheel AppleIntelWifiAdapterV2.kext/
sudo kextload -v AppleIntelWifiAdapterV2.kext/
之后,电脑卡死了,,,
尴尬

这个项目刚刚开始

@johnnynunez
Copy link

@zxystd any update to work wifi? I am very impressed by the achievement of operating the bluetooth

@a565109863
Copy link

@zxystd 你好,你知道getROAM_THRESH(OSObject*, apple80211_roam_threshold_data*)这个方法里的struct apple80211_roam_threshold_data这个结构体是什么吗?

@zxystd
Copy link
Owner

zxystd commented Jan 6, 2020

@zxystd 你好,你知道getROAM_THRESH(OSObject*, apple80211_roam_threshold_data*)这个方法里的struct apple80211_roam_threshold_data这个结构体是什么吗?

我现在还没研究到这块呢,尴尬。。
不过我刚刚大概看了下,大概是这样的
struct apple80211_roam_threshold_data
{
uint32_t version;//看起来好像是写死的 1
uint32_t threshold;
};
关于漫游的threshold值可以参考http://support.huawei.com/enterprise/docinforeader!loadDocument1.action?contentId=DOC1000088074&partNo=10182

@zxystd
Copy link
Owner

zxystd commented Jan 6, 2020

@zxystd any update to work wifi? I am very impressed by the achievement of operating the bluetooth

upset to say no, it is just a begining as it contains too much work...

@a565109863
Copy link

@zxystd 你好,你知道getROAM_THRESH(OSObject*, apple80211_roam_threshold_data*)这个方法里的struct apple80211_roam_threshold_data这个结构体是什么吗?

我现在还没研究到这块呢,尴尬。。
不过我刚刚大概看了下,大概是这样的
struct apple80211_roam_threshold_data
{
uint32_t version;//看起来好像是写死的 1
uint32_t threshold;
};
关于漫游的threshold值可以参考http://support.huawei.com/enterprise/docinforeader!loadDocument1.action?contentId=DOC1000088074&partNo=10182

谢谢!!!
还想请教一下,像这种结构体或枚举,怎样才能知道它的结构是什么呢,不太懂这方面的知识。
就好像:
enum apple80211_phymode {
APPLE80211_MODE_UNKNOWN = 0,
APPLE80211_MODE_AUTO = 0x1, // autoselect
APPLE80211_MODE_11A = 0x2, // 5GHz, OFDM
APPLE80211_MODE_11B = 0x4, // 2GHz, CCK
APPLE80211_MODE_11G = 0x8, // 2GHz, OFDM
APPLE80211_MODE_11N = 0x10, // 2GHz/5GHz, OFDM
APPLE80211_MODE_TURBO_A = 0x20, // 5GHz, OFDM, 2x clock
APPLE80211_MODE_TURBO_G = 0x40, // 2GHz, OFDM, 2x clock
APPLE80211_MODE_11AC = 0x80,
};

APPLE80211_MODE_11AC这个值,我是试出来的,

@zxystd
Copy link
Owner

zxystd commented Jan 7, 2020

@zxystd 你好,你知道getROAM_THRESH(OSObject*, apple80211_roam_threshold_data*)这个方法里的struct apple80211_roam_threshold_data这个结构体是什么吗?

我现在还没研究到这块呢,尴尬。。
不过我刚刚大概看了下,大概是这样的
struct apple80211_roam_threshold_data
{
uint32_t version;//看起来好像是写死的 1
uint32_t threshold;
};
关于漫游的threshold值可以参考http://support.huawei.com/enterprise/docinforeader!loadDocument1.action?contentId=DOC1000088074&partNo=10182

谢谢!!!
还想请教一下,像这种结构体或枚举,怎样才能知道它的结构是什么呢,不太懂这方面的知识。
就好像:
enum apple80211_phymode {
APPLE80211_MODE_UNKNOWN = 0,
APPLE80211_MODE_AUTO = 0x1, // autoselect
APPLE80211_MODE_11A = 0x2, // 5GHz, OFDM
APPLE80211_MODE_11B = 0x4, // 2GHz, CCK
APPLE80211_MODE_11G = 0x8, // 2GHz, OFDM
APPLE80211_MODE_11N = 0x10, // 2GHz/5GHz, OFDM
APPLE80211_MODE_TURBO_A = 0x20, // 5GHz, OFDM, 2x clock
APPLE80211_MODE_TURBO_G = 0x40, // 2GHz, OFDM, 2x clock
APPLE80211_MODE_11AC = 0x80,
};

APPLE80211_MODE_11AC这个值,我是试出来的,

 LODWORD(v10) = 0;
  if ( *(_BYTE *)(v5 + 12) )
  {
    v11 = wlc_get_current_bss(v5, "vhtmode", 0LL);
    v12 = *((_QWORD *)a1 + 311);
    if ( !*(_BYTE *)(v12 + 95) || (v10 = 128LL, !(*(_BYTE *)(v11 + 168) & 2)) )
    {
      if ( !(*(_BYTE *)(v12 + 93) & 3) || (v10 = 16LL, !(*(_BYTE *)(v11 + 6) & 0x20)) )
      {
        v13 = v11;
        v14 = wlc_get_home_chanspec(v5, "vhtmode", v10);
        LODWORD(v10) = 2;
        if ( v14 <= 0xBFFFu )
        {
          v17 = 0;
          v18 = 0;
          v19 = 0;
          AirPort_BrcmNIC::ratesetModulations(v5, (_DWORD *)(v13 + 56), 0, &v17, &v18, &v19);
          LODWORD(v10) = 4 * v18 + 4;
        }
      }
    }
  }

从这段代码就可以看出来v10的可能值有哪些了
0
2
16
128
4 * x + 4

知道之后,只能靠经验/猜,还有就是动态去试了,(/ω\)

@a565109863
Copy link

@zxystd 你好,你知道getROAM_THRESH(OSObject*, apple80211_roam_threshold_data*)这个方法里的struct apple80211_roam_threshold_data这个结构体是什么吗?

我现在还没研究到这块呢,尴尬。。
不过我刚刚大概看了下,大概是这样的
struct apple80211_roam_threshold_data
{
uint32_t version;//看起来好像是写死的 1
uint32_t threshold;
};
关于漫游的threshold值可以参考http://support.huawei.com/enterprise/docinforeader!loadDocument1.action?contentId=DOC1000088074&partNo=10182

谢谢!!!
还想请教一下,像这种结构体或枚举,怎样才能知道它的结构是什么呢,不太懂这方面的知识。
就好像:
enum apple80211_phymode {
APPLE80211_MODE_UNKNOWN = 0,
APPLE80211_MODE_AUTO = 0x1, // autoselect
APPLE80211_MODE_11A = 0x2, // 5GHz, OFDM
APPLE80211_MODE_11B = 0x4, // 2GHz, CCK
APPLE80211_MODE_11G = 0x8, // 2GHz, OFDM
APPLE80211_MODE_11N = 0x10, // 2GHz/5GHz, OFDM
APPLE80211_MODE_TURBO_A = 0x20, // 5GHz, OFDM, 2x clock
APPLE80211_MODE_TURBO_G = 0x40, // 2GHz, OFDM, 2x clock
APPLE80211_MODE_11AC = 0x80,
};
APPLE80211_MODE_11AC这个值,我是试出来的,

 LODWORD(v10) = 0;
  if ( *(_BYTE *)(v5 + 12) )
  {
    v11 = wlc_get_current_bss(v5, "vhtmode", 0LL);
    v12 = *((_QWORD *)a1 + 311);
    if ( !*(_BYTE *)(v12 + 95) || (v10 = 128LL, !(*(_BYTE *)(v11 + 168) & 2)) )
    {
      if ( !(*(_BYTE *)(v12 + 93) & 3) || (v10 = 16LL, !(*(_BYTE *)(v11 + 6) & 0x20)) )
      {
        v13 = v11;
        v14 = wlc_get_home_chanspec(v5, "vhtmode", v10);
        LODWORD(v10) = 2;
        if ( v14 <= 0xBFFFu )
        {
          v17 = 0;
          v18 = 0;
          v19 = 0;
          AirPort_BrcmNIC::ratesetModulations(v5, (_DWORD *)(v13 + 56), 0, &v17, &v18, &v19);
          LODWORD(v10) = 4 * v18 + 4;
        }
      }
    }
  }

从这段代码就可以看出来v10的可能值有哪些了
0
2
16
128
4 * x + 4

知道之后,只能靠经验/猜,还有就是动态去试了,(/ω\)

好的,谢谢!!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants