ZNDS智能电视网 推荐当贝市场

TV应用下载 / 资源分享区

软件下载 | 游戏 | 讨论 | 电视计算器

综合交流 / 评测 / 活动区

交流区 | 测硬件 | 网站活动 | Z币中心

新手入门 / 进阶 / 社区互助

新手 | 你问我答 | 免费刷机救砖 | ROM固件

查看: 621085|回复: 499
上一主题 下一主题
[教程&攻略]

华为EC1308机顶盒更改参数教程

  [复制链接]
跳转到指定楼层
#
发表于 2016-5-12 16:53 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
华为EC1308机顶盒有几个版本,本方式只适用于采用海思Hi3560V100芯片,且存在设备文件/dev/misc/e2prom_24lc16的机顶盒。


用Telnet登录机顶盒,执行下面的命令:
ls -l /dev/misc/e2prom_24lc16

修改参数程序源代码如下:
#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联通定制怎么刷机
499#
发表于 2020-10-10 13:30 | 只看该作者
EC1308机顶盒
回复 支持 反对

使用道具 举报

498#
发表于 2019-12-14 23:17 来自ZNDS手机版 | 只看该作者
这个看不懂呀
回复 支持 反对

使用道具 举报

497#
发表于 2019-5-17 15:02 | 只看该作者
老铁666!必须支持一波!
回复 支持 反对

使用道具 举报

496#
发表于 2019-5-16 19:39 | 只看该作者
谢谢大师分享
回复 支持 反对

使用道具 举报

495#
发表于 2019-5-5 11:00 | 只看该作者
老铁666!必须支持一波!
回复 支持 反对

使用道具 举报

494#
发表于 2019-5-4 13:29 来自ZNDS手机版 | 只看该作者
感谢楼主分享
回复 支持 反对

使用道具 举报

493#
发表于 2019-4-29 22:45 来自ZNDS手机版 | 只看该作者
5566
回复 支持 反对

使用道具 举报

492#
发表于 2019-4-29 19:05 | 只看该作者
高手在当贝啊!学习了
回复 支持 反对

使用道具 举报

491#
发表于 2019-4-26 11:57 | 只看该作者
谢谢!
回复 支持 反对

使用道具 举报

490#
发表于 2019-4-17 13:59 | 只看该作者
高手在当贝啊!学习了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 苏ICP备2023012627号 )

网络信息服务信用承诺书 | 增值电信业务经营许可证:苏B2-20221768 丨 苏公网安备 32011402011373号

GMT+8, 2024-4-27 01:44 , Processed in 0.069918 second(s), 15 queries , Redis On.

Powered by Discuz!

监督举报:report#znds.com (请将#替换为@)

© 2007-2024 ZNDS.Com

快速回复 返回顶部 返回列表