首頁 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

交流區(qū) | 測硬件 | 網(wǎng)站活動 | Z幣中心

新手入門 / 進(jìn)階 / 社區(qū)互助

新手 | 你問我答 | 免費刷機救磚 | ROM固件

查看: 686525|回復(fù): 499
上一主題 下一主題
[教程&攻略]

華為EC1308機頂盒更改參數(shù)教程

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2016-5-12 16:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式 | 來自浙江
華為EC1308機頂盒有幾個版本,本方式只適用于采用海思Hi3560V100芯片,且存在設(shè)備文件/dev/misc/e2prom_24lc16的機頂盒。


用Telnet登錄機頂盒,執(zhí)行下面的命令:
ls -l /dev/misc/e2prom_24lc16

修改參數(shù)程序源代碼如下:
#include <fcntl.h>
#include <malloc.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <stdio.h>
#include <string.h>

typedef struct {
        unsigned int        e2prom_cmd_sub_addr;
        unsigned int        sub_addr_count;
        unsigned char*        e2prom_cmd_data;
        unsigned int        data_count;
} e2prom_s_cmd;

#define E2PROM_CMD_READ 1
#define E2PROM_CMD_WRITE 2
#define E2PROM_DEVICE "/dev/misc/e2prom_24lc16"

static int readparam(unsigned char *mac, unsigned char *stbid)
{
        int fd, ret;
        e2prom_s_cmd arg;
        unsigned char buf[0x18];

        fd = open(E2PROM_DEVICE, O_RDWR);
        if (fd  < 0) {
                printf("Device %s open error.\n", E2PROM_DEVICE);
                return -1;
        }
        arg.sub_addr_count      = 2;
        arg.data_count          = 0x18;
        arg.e2prom_cmd_sub_addr = 0x290;
        arg.e2prom_cmd_data     = buf;
        ret = ioctl(fd, E2PROM_CMD_READ, &arg);
        if (ret != 0) {
                printf("Device %s read error.\n", E2PROM_DEVICE);
                return -1;
        }
        memcpy(mac, buf, 6);
        memcpy(stbid, &buf[6], 18);
        stbid[18] = '\0';

        return 0;
}

static int writeparam(unsigned char *mac, unsigned char *stbid)
{
        int fd, ret;
        e2prom_s_cmd arg;
        unsigned char buf[0x18];

        memcpy(buf, mac, 6);
        memcpy(&buf[6], stbid, 18);
        fd = open(E2PROM_DEVICE, O_RDWR);
        if (fd  < 0) {
                printf("Device %s open error.\n", E2PROM_DEVICE);
                return -1;
        }
        arg.sub_addr_count      = 2;
        arg.data_count          = 0x18;
        arg.e2prom_cmd_sub_addr = 0x290;
        arg.e2prom_cmd_data     = buf;
        ret = ioctl(fd, E2PROM_CMD_WRITE, &arg);
        if (ret != 0) {
                printf("Device %s write error.\n", E2PROM_DEVICE);
                return -1;
        }

        return 0;
}

int main()
{
        char c;
        int i, macs[6];
        unsigned char mac[6];
        unsigned char stbid[256];

        if (readparam(mac, stbid) < 0)
                return 1;

        printf("Current parameters: \n");
        printf("  MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
        printf("  STBID: %s\n", stbid);
        
        printf("\nPlease input new MAC (1a:2b:3c:4d:5e:6f): ");
        if (scanf("%02x:%02x:%02x:%02x:%02x:%02x", &macs[0], &macs[1], &macs[2], &macs[3], &macs[4], &macs[5]) != 6) {
                 printf("Input MAC error\n");
                 return 1;
        }
        for (i=0; i<6; i++)mac = macs;
        printf("\nPlease input new STBID: ");
        scanf("%s", stbid);
        if (strlen(stbid) != 18) {
                printf("Invalid stbid\n");
                return 1;
        }
        printf("\nNew parameters: \n");
        printf("  MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
        printf("  STBID: %s\n", stbid);

        printf("\nDo you want to change paramemters? (y/N) ");
        for (;;) {
                c = getchar();
                if (c == 'y' || c == 'Y')
                        break;
                if (c == 'n' || c == 'N') {
                        printf("\nAborted.\n");
                        return 1;
                }
        }
        if (writeparam(mac, stbid) == 0)
                printf("Parameters changed.\n");

        return 0;
}

上一篇:華為秘盒M310如何升級?刷機教程!
下一篇:華為ec6106v6聯(lián)通定制怎么刷機
沙發(fā)
發(fā)表于 2016-5-12 17:18 | 只看該作者 | 來自浙江
雖不明,但覺厲!這個厲害哦 漲知識了    感謝樓主的分享!
回復(fù) 支持 反對

使用道具 舉報

板凳
發(fā)表于 2016-5-13 16:47 | 只看該作者 | 來自山東
感謝分享,ZNDS有你更精彩:)
回復(fù) 支持 反對

使用道具 舉報

地板
匿名  發(fā)表于 2016-5-14 10:15 | 未知
謝謝分享。。。。
回復(fù) 支持 反對

使用道具

5#
發(fā)表于 2016-5-14 10:23 來自ZNDS手機版 | 只看該作者 | 來自安徽
謝謝分享。。。。
回復(fù) 支持 反對

使用道具 舉報

6#
發(fā)表于 2016-5-14 10:25 來自ZNDS手機版 | 只看該作者 | 來自安徽
樓主你說詳細(xì)點嗎?
回復(fù) 支持 反對

使用道具 舉報

7#
發(fā)表于 2016-5-19 10:30 來自ZNDS手機版 | 只看該作者 | 來自安徽
樓主能不能說詳細(xì)點
回復(fù) 支持 反對

使用道具 舉報

8#
發(fā)表于 2016-5-20 15:20 | 只看該作者 | 來自廣東
強烈支持樓主ing……
回復(fù) 支持 反對

使用道具 舉報

9#
發(fā)表于 2016-5-28 20:26 | 只看該作者 | 來自河北
好東西呀 樓主好人 一會去試試
回復(fù) 支持 反對

使用道具 舉報

10#
發(fā)表于 2016-5-31 15:01 | 只看該作者 | 來自山西
強烈支持樓主ing……
回復(fù) 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號 )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號

GMT+8, 2024-10-24 12:31 , Processed in 0.064726 second(s), 13 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表